[Xcode] OSバージョンの判別、分岐

最近はavailable一択。

Objective-C

if (@available(iOS 11, *)) {
    // Use iOS 11 APIs.
} else {
    // Alternative code for earlier versions of iOS.
}

Swift

if #available(iOS 11, *) {
    // Use iOS 11 APIs.
} else {
    // Alternative code for earlier versions of iOS.
}

最近の広告関連で、ATTrackingManager関連を呼び出す場合は、

//Obj-C
if (@available(iOS 14.5, *)) {
    // ATT関連処理
}else{
    
}

14.5以降とするとか。

上記から呼び出す別ファイルの関数などを、丸々対応させたい場合も、同じような記述で使えます。対象バージョンで呼べない関数があると、Xcode上で警告が出て、補完もしてくれますが。
以下を参考。

Appleのサイト
Marking API Availability in Objective-C

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする