今月は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できました。
