代码之家  ›  专栏  ›  技术社区  ›  alexyorke

获取带有Objective-C的OSX版本

  •  5
  • alexyorke  · 技术社区  · 14 年前

    我如何才能在Objective-C中获得OSX版本?我想避免使用shell命令。例如“10.5”或“10.4”

    6 回复  |  直到 8 年前
        1
  •  15
  •   Chris Miles    12 年前
    NSProcessInfo *pInfo = [NSProcessInfo processInfo];
    NSString *version = [pInfo operatingSystemVersionString];
    

    抱歉,我正在用我的iPad回答这个问题。

        2
  •  3
  •   Shebuka    12 年前

    您可以用这种方式解析它以获得所需的格式:

    NSProcessInfo *pinfo = [NSProcessInfo processInfo];
    
    NSArray *myarr = [[pinfo operatingSystemVersionString] componentsSeparatedByString:@" "];
    NSString *version = [@"Mac OS X " stringByAppendingString:[myarr objectAtIndex:1]];
    

    这个联邦调查局会给你 Mac OS X 10.6.8

        3
  •  3
  •   Jenn    8 年前

    从10.10起,您可以使用 NSProcessInfo.processInfo.operatingSystemVersion 获取nsOperationSystemVersion结构。

    typedef struct {
        NSInteger majorVersion;
        NSInteger minorVersion;
        NSInteger patchVersion;
    } NSOperatingSystemVersion;
    

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

    NSOperatingSystemVersion minimumSupportedOSVersion = { .majorVersion = 10, .minorVersion = 12, .patchVersion = 0 };
    BOOL isSupported = [NSProcessInfo.processInfo isOperatingSystemAtLeastVersion:minimumSupportedOSVersion];
    
        4
  •  2
  •   Peter Hosey    14 年前

    你可以使用 the Gestalt function 访问 the components of the OS version .

    的旧用户 格式塔 可能会惊讶地发现它仍然是64位的。

        5
  •  1
  •   Community CDub    8 年前

    使用查看此响应 NSAppKitVersionNumber 如果您也在应用程序中使用AppKit(并且希望在10.8+上运行,因为格式塔现在已被弃用):

    How to know what Mac OS the app is running on?

        6
  •  0
  •   Ferrakkem Bhuiyan    10 年前

    在此之后添加此代码 #import

    #define SYSTEM_VERSION_EQUAL_TO(v)                  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)  
    

    添加以上代码后,请在希望查看操作系统版本的位置添加以下代码

    NSString *systemVersion = [[UIDevice currentDevice] systemVersion];
            NSLog(@"System version :%@",systemVersion);
    

    通过以上代码可以很容易地获得操作系统版本

    谢谢你