2016-04-21 116 views
2

我正在構建需要檢查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

回答

1

相同的檢查將被用來只是把10.9的代碼裏面,如果在別的

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

這隻會檢查最低版本,所以不管我運行什麼系統,它總會是真的。 – skylerl