[Xcode 9][新機能] Objective-C のコードで OS バージョンを判定する

2017.10.25

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

直感的なバージョン判定

Xcode 9 から Objective-C でも Swift のように iOS バージョンを判定する記述方法がサポートされました。
新たな Objective-C 式 @available を使用します。

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

バージョンは iOS 10.3.3 のようにマイナーバージョン以降を指定することも可能です。

なお、Swift の記述方法は以下の通り。

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

こちらは従来通りですね。

さいごに

Xcode 9 からは UIDevice や NSProcessInfo を利用することなく、簡単かつ直感的に処理を分岐することができるようになりました。
Objective-C で書いているプロジェクトをアップデートする際はぜひ利用してみてください。

リンク

ミレニアム・ファルコン製作日記 #93

93 号 表紙

mfd_93_1

パーツ

mfd_93_2

mfd_93_3

mfd_93_4

成果

mfd_93_5

mfd_93_6

mfd_93_7

今回の作業は以下の 5 つでした。

  • 船体上部に穴メカを取り付ける
  • コクピットを取り付ける
  • 上部砲塔ベイを取り付ける
  • 船体上部を取り付ける
  • 配線を整理する

かなりスパートがかかってきた感があります。
今回の作業で船体の上部と下部が連結されました。
きっと内部の作業は終了ということでしょう。
苦行の通路アーチ作成作業がまだあると思っていたので助かりました。

それではまた次回。

May the Force be with you!