Xcode7でまたエラー発生
does not contain bitcode
Xcode 7.0で新規アプリをsubmitしようとするとこんなエラーが
『ld: ‘/Users/xxx/cocos2d/cocos2d-x-3.4/projects/xxx/proj.ios_mac/ios/xxx/Mr6SmallFloatSDK.framework/Mr6SmallFloatSDK’ 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』
これは、自分で書いたコードではなく、
取り込んだフレームワークに対してのエラーです。
エラーの解決方法
Xcodeのプロジェクトから、
TARGETS > 〜 iOS > Build Settings > Build Options > Enable Bitcode
これを『No』にするとOKです!
どういうエラーか
今回はアスタさん提供の広告SDKを組み込んでおり、
そのフレームワークがbitcodeに対応していない というエラーでした。
ライブラリ・フレームワークがbitcodeに対応したビルドをされていない場合にエラーとなるため、
組み込むライブラリ・フレームワークによってはエラーが出てしまいます。
bitcodeって?
http://cockscomb.hatenablog.com/entry/watchos-2-architecture
こちらが詳しいです。
ざっくり説明すると、
iOS9から採用されたAppThining(アプリをユーザに合わせて最適化できる仕組み)があり、
これを利用するにはLLVMの中間表現(=bitcodeのフォーマット)で、
AppStoreに提出する必要がある、ということです。
フォーマットなので、取り込むライブラリ・フレームワークもbitcodeに対応している必要があります。
これに伴い、Xcode7からは『Enable Bitcode』がデフォルトでONになっています。
なお、bitcodeをONにするかどうかは今のところ任意です。