在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
部分。
答
相同的检查将被用来只是把10.9的代码里面,如果在别的
if #available(OSX 10.9, *) {
} else {
}
+0
这只会检查最低版本,所以不管我运行什么系统,它总会是真的。 – skylerl
的可能重复其他版本[我如何确定在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
@jtbandes在那里的答案使用不是10.9的API,它看起来像 – skylerl
检查出其他答案。 – jtbandes