Xcode 7でビットコードを有効にするにはDeployment Targetに要注意

Xcode 7ではデフォルトでビルド時にビットコードが含まれるという記事においてはXcode 7ではiOSアプリ/ライブラリー/フレームワークをビルドする時にはデフォルトでビットコードが含まれることを説明したが、今回はビットコードを含める際にもう一つDeployment Targetという落とし穴に気をつけなければならないという点を説明したい。

ビットコード有効時ではDeployment Target1 の設定によってはビルドが通らない場合がある。例えば、以下のエラーが発生する場合がある。

これは、ビットコードを有効にする場合、Deployment Targetが6.0以上、つまりiOS 6.0以降を動作必須OSとするように設定する必要があるということである。なお、ビットコードを有効にする場合、すべてのアプリ・ライブラリー・フレームワークがビットコードが有効になっている必要があるため、すべてのターゲットのDeployment Targetが6.0以降になっている必要がある。

ちなみに、Xcode 7ではDeployment Targetのリストに載っているiOSの最低バージョンが6.0となっており、それ以前のバージョンは切り捨てられているようである。手動で6.0より前のバージョンに指定することは可能のようだが、意図せぬ動作を起こす可能性があるため、避けた方が良いだろう。

なお、App Store – Support – Apple Developer(2015年09月30日10:15閲覧時点)によれば、デバイスの90%以上がiOS8以降であり、基本的にはDeployment Targetは8.0、より古いバージョンをサポートするのであれば7.0にしてもほぼすべてのデバイスをサポートできる計算になる。

Deployment Targetは特に古いアプリプロジェクトから開発している時に見落としがちなので、是非とも気をつけたいところである。

ウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しております。仕事依頼や相談などについては、Contact Formよりお願いいたします。
  1. 動作対象のOSの最低バージョン []
スポンサーリンク

フォローする