2017-06-02 35 views
0

例如,某些可可api在macOS 10.10之後棄用,並且在macOS 10.10之後引入新可可。我的問題是如果我的應用程序需要運行在macOS 10.8及更高版本(10.9,10.10,10.11,10.12)上,那麼我可以使用它們中的更高版本。我對嗎?如果是這樣,我能爲此做些什麼?關於可可api兼容性

回答

0

我能爲此做些什麼?

在你測試的API和分支的存在相應的技術水平,在抽象:

if (10.10 API available) 
{ 
    // use 10.10 API 
} 
else 
{ 
    // use earlier API or handle not supporting feature 
} 

在Objective-C蘋果通過測試的具體方法(使用respondsToSelector:)建議的可用性測試或鍵入(使用弱鏈接);你也可以測試一個特定的框架(推薦)或操作系統版本(蘋果公司最不喜歡的,經常被程序員使用)。如果您得到棄用警告,但由於測試您知道代碼正常,您可以在本地使用#pragma來禁止警告。

Swift Apple提供了OS系列(macOS,iOS等)和版本(#available)的測試。

無論您使用哪種語言,您都希望支持最新的SDK。

很明顯,在許多變化中支持單個代碼庫可能會變得複雜和/或凌亂,處理這是業務決策。

HTH