Edited at

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

More than 3 years have passed since last update.


前書き

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環境でのデバッグ実行ができると思います。