CarthageでRealmとかFirebase等の大きめのライブラリがxcframework化できるようになったのでビルド時間短縮のために導入しています。
その際、ストアに提出しようとしたときに以下のようなエラーが出る場合があります。
error: exportArchive: IPA processing failed
Found an unexpected Mach-O header code: 0x72613c21
これらはターゲットの設定で、追加したxcframeworkの設定を Embed & Sign
から Do Not Embed
にすると直ります。
Carthageのドキュメントにも以下のように書かれています。
If you are using Carthage for an application, select "Embed & Sign", otherwise "Do Not Embed".
GitHub - Carthage/Carthage: A simple, decentralized dependency manager for Cocoa
が、私の試したプロジェクトでは全てを Do Not Embed
にするとBitrise上で
export failed, error: %!!(MISSING)s(<nil>)
のような謎のエラーとなることがありました。raw-xcodebuild-output.log
をみるとエラーを起こしているxcframeworkがわかるので、それを Embed & Sign
に戻していくとエラーが解消されていきます。結局Firebase関連のxcframeworkだけ Do Not Embed
にするとビルドが通るようになりました。