Я пытаюсь найти пример того, как получить версию приложения и номер сборки, чтобы я мог отобразить его в окне справки приложения OSX.
Тривиально для Windows, но не для Mac.
Надеюсь, вы можете помочь!
Эдвард
Я использую этот код, который я написал. Просто позвоните:
osxNSBundle.BundleVersion()
Вот код:
uses
Macapi.Foundation,
Macapi.Helpers;
osxNSBundle = class
private
class function MainBundle: NSBundle;
public
class function BundlePath: string;
class function BundleVersionStr: string;
class procedure BundleVersion(var aMajor,aMinor,aBuild: integer);
end;
implementation
class function osxNSBundle.MainBundle: NSBundle;
begin
result := TNSBundle.Wrap(TNSBundle.OCClass.mainBundle);
end;
class function osxNSBundle.BundlePath: string;
begin
result := NSStrToStr(MainBundle.bundlePath);
end;
class function osxNSBundle.BundleVersionStr: string;
begin
Result := NSStrToStr(TNSString.Wrap(MainBundle.objectForInfoDictionaryKey(StrToNSStr('CFBundleVersion'))));
end;
class procedure osxNSBundle.BundleVersion(var aMajor,aMinor,aBuild: integer);
var lStrArray: TArray<string>;
i: Integer;
begin
aMajor := 0; aMinor := 0; aBuild := 0;
lStrArray := BundleVersionStr.Split(['.']);
if Length(lStrArray)>=3 then
begin
aMajor := lStrArray[0].ToInteger;
aMinor := lStrArray[1].ToInteger;
aBuild := lStrArray[2].ToInteger;
end;
end;