今月はiOSアプリを書いていてその最終段階で遭遇したエラーの対処の話です。
iTunes Connect にファイルをアップロードしたら次のようなエラーが出た。
ERROR ITMS-90087: “Unsupported Architectures. The executable for BNITraning.app/Frameworks/RapidFire.framework contains unsupported architectures ‘[x86_64, i386]’.”
このエラーは、App Storeのバグで、Carthage を使ってると発生する有名な問題だそうです。
READMEに説明がありました。
This script works around an App Store submission bug triggered by universal binaries and ensures that necessary bitcode-related files and dSYMs are copied when archiving.
- アプリケーションの設定で、「Build Phases」タブを選択する
- 「+」アイコンをクリックして、「New Run Script Phase」を選択する
- スクリプトエリアに「/usr/local/bin/carthage copy-frameworks」と記述する
- インプットファイルに「$(SRCROOT)/Carthage/Build/iOS/Box.framework」を記入。フレームワークは実際に使用するものを記載する
これで無事にUploadできました。