获取带有objective-c的OSX版本

ale*_*rke 7 cocoa objective-c

我怎样才能在objective-c中获得OSX版本?我想避免使用shell命令.例如"10.5"或"10.4"

enn*_*ler 15

NSProcessInfo *pInfo = [NSProcessInfo processInfo];
NSString *version = [pInfo operatingSystemVersionString];
Run Code Online (Sandbox Code Playgroud)

抱歉格式化,我正在使用我的iPad来回答这个问题.

  • 如果要向用户显示版本,那很好,但如果要根据操作系统版本进行处理则不行. (2认同)

Jen*_*enn 5

从10.10开始,您可以使用NSProcessInfo.processInfo.operatingSystemVersionNSOperatingSystemVersion结构。

typedef struct {
    NSInteger majorVersion;
    NSInteger minorVersion;
    NSInteger patchVersion;
} NSOperatingSystemVersion;
Run Code Online (Sandbox Code Playgroud)

还有一种有用的isOperatingSystemAtLeastVersion:方法。

NSOperatingSystemVersion minimumSupportedOSVersion = { .majorVersion = 10, .minorVersion = 12, .patchVersion = 0 };
BOOL isSupported = [NSProcessInfo.processInfo isOperatingSystemAtLeastVersion:minimumSupportedOSVersion];
Run Code Online (Sandbox Code Playgroud)