LoginSignup
92
89

More than 5 years have passed since last update.

Xcode7GMでビルドすると「does not contain bitcode.」とか言われる

Last updated at Posted at 2015-09-10

前書き

iOS9GMがリリースされたので動作確認をしてみたら不具合が見つかったので、
Xcode7をダウンロードしてきてデバッグ実行しようと思ったら以下のようなエラーが。

ld: '/Users/***/***/***/Fabric.framework/Fabric(FABObfuscator.o)' 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 arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

これは、Fabricのライブラリファイル(Fabric.a)が Xcode7環境で
デフォルトでYESになっている、「ENABLE_BITCODE」のオプションに対応した形式でビルドされてないから、アップデートしてくれよってエラーですね。
(※9/10 コメントでの指摘につき修正)

bitcodeオプションについては、以下の記事で解説されています。
◆ LLVM bitcode基礎知識
http://qiita.com/gamako/items/f37dbb05de9d3832ce6b

ENABLE_BITCODEをNOにする

「Build Settings」から「Enable Bitcode」の項目を検索し、NOにしましょう。
基本的にはこれでビルドが通るはずです。
ss.png

それでもエラーが出る場合

そういう場合は、仕方ないので古い環境でビルドしましょう。
一度Xcode7+iOS9の環境を接続すれば、古い環境でもiOS9端末にインストールできるようになります。

古い環境を残してXcode7GMをダウンロードしていれば問題ありませんが、
私のようにうっかり上書きしていた場合はAppStoreからもXcodeが落とせなくなります。
(6.4をダウンロードしても、インストール後に7.0環境で上書きされる)

仕方がないので、アプリケーションフォルダにあるGMのXcode(/Applications/Xcode.app)を適当な名前でリネームして、AppStoreから再度ダウンロードすることにしましょう。
例えばこんな感じ。

スクリーンショット 2015-09-10 16.29.02.png

Launchpadや、ショートカットバーのリンク先はリネームした方になってると思うので
アプリケーションフォルダから直接旧バージョンを起動しましょう。
これで、おそらくiOS9GM環境でのデバッグ実行ができると思います。

92
89
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
92
89