先日、Xcodeの9がリリースされましたので、いそいそとアップデートしてみました。
ダウンロード&インストールはなんの問題もなく終わったのですが、プロジェクトをビルドしようとすると早速エラーが発生。
環境
OSバージョン :10.12.6
Xcodeバージョン :9.0.1
相変わらず常に刺激を与え続けてくれるApple。
今回は一体何が切り捨てられたのかとドキドキしながらエラーメッセージを確認すると・・・。
Compiling IB documents for earlier than iOS 7 is no longer supported.
あまり記憶にないメッセージ。
意味としては”iOS7以前のIBで作ったドキュメントはサポートしていません”といったところか。
うーん、そんなことを急に言われても今更作り直すのも面倒だし・・・。
とにかく該当のxibを確認してみる。
するとちょっと気になる箇所がありました。
Interface Builder DocumentのBuilds forが「Unknown iOS Version」になっている。
はて、こんな設定にした記憶はないけど・・・。
このBuilds forはxib単位でターゲットとなるsdkバージョンが設定できます。
例えば、プロジェクトでターゲットとしているsdkバージョンがiOS10で、iOS11でしかサポートされていない部品を配置するとエラーになります。
しかし、該当する部品のBuilds forを「iOS11」にするとビルドできます。
読み込ませるStoryBoardを動作するiOSバージョンによって切り替える必要がありますが・・・。
ひとまず、Builds forを「iOS 11.0 and Later」に変更。
するとエラーが消え、問題なくビルドできました。
ただ、同様の設定が他にもけっこうあったので全部直すのに少し時間がかかりました。
しかも、一度にエラーが全部表示されないので、都度直す羽目に・・・。