Xcode12でAppStoreConnectへアプリをアップロードするとITMS-90562: Invalid Bundleでビルドが無効になる問題


手元で解決した方法

PodfileからQuickを削除してXCTest使うように変更したら直りました。

問題

今携わってるプロジェクトではスキームを分けて、AppStoreConnectでalpha, staging, productionの3つの環境のアプリを配布しているのですが、Xcode12にアップデートしてアプリを配布しようとしたらalpha, staging環境のアプリでなぜか表題のエラーが起こるようになりAppleからメールが届くようになりました。

ITMS-90562: Invalid Bundle - The app submission can not be successfully recompiled from bitcode due to missing symbols during linking. You can try to reproduce and diagnose such issues locally by following the instructions from: https://developer.apple.com/library/archive/technotes/tn2432/_index.html

それとテストもよく分からないエラーを出して失敗するように。

▸ Processing Info.plist
▸ Running script '[CP] Check Pods Manifest.lock'
▸ Processing Info.plist
▸ Running script '[CP] Check Pods Manifest.lock'

❌  error: Illegal instruction: 4 (in target 'XXXXXTests' from project 'XXXXX')


▸ Linking XXXXXUITests
▸ Generating 'XXXXXUITests.xctest.dSYM'
▸ Running script '[CP] Embed Pods Frameworks'
Testing failed:
    Illegal instruction: 4
    Testing cancelled because the build failed.

** TEST FAILED **


The following build commands failed:
    CompileSwift normal x86_64
    CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler
(2 failures)
[19:14:01]: Exit status: 65

[!] Error building the application. See the log above.

色々試していたのですが、結局解決方法が分からずとりあえずテストで失敗していたのでQuickを使用している部分のテストを削除してみたらテストが通るようになり、そのままXCTestに書き直して再度AppStoreConnectへアップロードしたら表題の問題が起こらないようになりました。

その他

Xcode12でググったりTwitterで検索しても、ワーニングの件や、シミュレータ向けのビルドからarm64アーキテクチャ外す必要があるなどに言及している記事やつぶやきしかひっかからず、困っていました。

一応フォーラムに同じような問題が上がっているのは確認できたのですが、解決はしてなさそう。

あまり起こっていない問題なのかも。