90
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

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

前書き

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
90
Help us understand the problem. What are the problem?