タイトルにあるようなエラーが出て困った話。
WindowsだけでiOS用のゲームを作るために、Unity Cloud Build(以下、UCB)を使ってビルドを試みました。しかしタイトルのようなエラーが出てビルドが失敗しました。
より具体的に言うと、次のようなエラーが出ました。
ld: could not reparse object file in bitcode bundle: 'Invalid bitcode version (Producer: '1200.0.32.2.0_0' Reader: '1103.0.32.59_0')', using libLTO version 'LLVM version 11.0.3, (clang-1103.0.32.59)' for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)
原因としては、おそらくプロジェクト内にあるライブラリで使用しているbitcodeと、ビルドに使用しているbitcodeのバージョンが違うんでしょうね。
目次
could not reparse object file in bitcode bundle: 'Invalid bitcode version (Producer: 'xxx' Reader: 'yyy')'となったときの対処法
このエラーの原因はXcodeで使うbitcodeのバージョンが違うことですね。
この記事が分かりやすかったですね。何となくわかった気になります。
対処法1:Bitcodeを無効にする
UnityのBuild SettingでBitcodeの使用をOFFにすることができます。
方法については、こちらの記事に書いてあるので、参考にしてください。
対処法2:使用するXcodeのバージョンを変える
Xcodeのバージョンを変えるという方法もあります。UCBでビルドする場合でもXcodeのバージョンを変えられます。
ただし、最新のXcodeのバージョンに対応していない場合もあります。その場合は、最新バージョンがサポートされるまで待つしかありません。