在Mac OS X上使用Swift检查OS版本

问题描述:

我正在构建需要检查Mac上安装的OS X版本的应用程序。它是针对10.9小牛制作的,但所有的Swift API都只有10.10。在Mac OS X上使用Swift检查OS版本

我尝试使用以下,但它不会编译针对10.9 SDK,因为它不具备这些API,我知道如何使用if #available(OSX 10.10, *)有条件编译按不同的版本,但因为NSProcessInfo是10.10+ API我无法用它来检查Mac是否运行10.9。这是我迄今(但它不会编译针对10.9 SDK)代码:

let osVersion = NSProcessInfo.processInfo().operatingSystemVersion 
if osVersion.minorVersion == 9 { 
    // Do something for OS X 10.9 Mavericks 
} else { 
    // Do something for anything not Mavericks (10.10+) 
} 

是否有另一种方法来检查什么操作系统在Mac在10.9运行?基本上我可以换用上面的代码:

if #available(OSX 10.10, *) { 
    let osVersion = NSProcessInfo.processInfo().operatingSystemVersion 
    // Check OS version 
} else { 
    // Check OS version using a 10.9 API 
} 

我只是不知道如何填写该代码块的// Check OS version using a 10.9 API部分。

+1

的可能重复其他版本[我如何确定在OS X或iOS运行的操作系统版本(不使用格式塔) ?](http://stackoverflow.com/questions/11072804/how-do-i-determine-the-os-version-at-runtime-in-os-x-or-ios-without-using-gesta) – jtbandes

+0

@jtbandes在那里的答案使用不是10.9的API,它看起来像 – skylerl

+0

检查出其他答案。 – jtbandes

相同的检查将被用来只是把10.9的代码里面,如果在别的

if #available(OSX 10.9, *) { 
} else { 
} 
+0

这只会检查最低版本,所以不管我运行什么系统,它总会是真的。 – skylerl