Akata Works

フルスタックなクリエイターになる・・つもりの二年目Webエンジニアのブログ

Bitcodeバージョンの違いで発生するInvalid bitcode version (Producer: xxxx Reader: yyyy)

タイトルイコールほぼ答えみたいなものですが、Facebook SDKなど外部のフレームワークを使用する場合、SDKをビルドした際のBitcodeバージョンとそれを使用したアプリをビルドした際のBitcodeバージョンが異なればアーカイブ時にタイトルのエラー
が出ます(xxxxとyyyyはBitcodeのバージョン)

Bitcodeについては下記の過去記事で解説しています。よく分からない人はどうぞ


対応策としてはTARGETSの設定からBuild Settings => Build Options => Enable BitcodeをNoにすることでBitcodeを無効にすることで解消できますが、
Bitcodeをオフにすることで何らかの問題が発生する可能性がないとは言い切れませんし、最適化のためにあまりよくありません

基本的に新しい外部SDKはその時の最新のXcodeでビルドされていると思いますので、Xcodeコードのバージョンを上げるのが一番いいと思います
どうしてもXcodeのバージョン上げたくなければ古いSDKを使用するか、
設定でオフにするといいんじゃないでしょうか

XcodeバージョンとBitcodeバージョンの対応表どっかにないかな・・

僕が引っかかったときのBitcodeバージョンは以下でした

Xcode 8.3.3: 802.0.42.0_0
Xcode 8.2.1: 800.0.42.1_0

参考URL