蘋果在Xcode 9.0中為Objective-C編程新增了一個(gè)有意思的編譯器警告耍缴,其主要目的是: 一旦你所使用的API最低可用版本超過了你項(xiàng)目的部署版本(所謂的部署版本就是Deployment info中的Deployment target的版本),Xcode就會(huì)出現(xiàn)類似下方的編譯器警告:
基于上述問題铺敌,蘋果也相應(yīng)的引入了一個(gè)跟Swift語(yǔ)言很相似的表達(dá)式 @available
, 以便在運(yùn)行時(shí)(runtime)執(zhí)行系統(tǒng)的版本檢查:
if (@available(macOS 10.13, iOS 11, *)) {
// The compiler will not warn about uses of APIs from macOS 10.13
// or iOS 11 here
}
當(dāng)然了你也可以點(diǎn)擊編譯器警告,讓Xcode替你修復(fù)上述的警告: