Xcode7でbitcodeのエラーが出た

  • 63
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

環境はXcode7GM

過去のプロジェクト(Xcode6.x以前)でサードパーティのライブラリをリンクしている場合、以下のようなエラーが出る。


ld: 'ライブラリ名' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture (アーキテクチャ名)

エラー文言に書かれているとおり、Build Settings > Enable BitcodeNOにすれば解決する。

Xcode7からは、デフォルトでビルド時にビットコード(中間コード)が含まれており、これによって、各プラットフォームのアーキテクチャに最適なネイティブコードがコンパイルされ、パフォーマンスの向上を図っているらしい。

問題なのは、Xcode6.x以前で作成したプロジェクトをXcode7で開いた場合でも、デフォルトでビットコードを含むように設定されるらしい。そのため、リンクしているサードパーティのライブラリがビットコードを含んでいない場合に上のようにエラーとなる。

参考

Impact of Xcode build options “Enable bitcode” Yes/No

おわり