在Mac OS X上使用Swift检查操作系统版本

时间:2016-04-21 14:24:32

标签: swift macos cocoa osx-mavericks osx-elcapitan

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

我试图使用以下内容,但它没有针对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 个答案:

答案 0 :(得分:1)

如果对于其他版本的

,将使用相同的检查将10.9代码放入其中
if #available(OSX 10.9, *) {
 } else {
}