背景
CocoaPodsで管理してるFirebaseをSPM (Swift Package Manager)に移行するための作業をしている時に発生。
SPMでFirebase依存関係を整えた後に、ビルド実行したらこのエラーが出ました。

原因
Build Phaseの実行順序が問題らしい、PodなりCarthageの時の順序だと弾かれるぽい。
なぜSPMにしてからエラーになったのか?
CocoaPodsやCarthageだけの時は、Xcodeにとって外部ライブラリは「すでにそこにある完成品」に近い扱いでした。しかし、SPMはXcodeのビルドプロセスの中に深く組み込まれます。
- 依存関係の複雑化: SPMはビルド時にソースからコンパイルされるため、Xcode全体の「依存関係のグラフ」が巨大になります。
- 実行順序の矛盾: ログを見ると、
MinChalleNotificationService(通知拡張)と本体のフレームワークコピー処理が、お互いの完了を待ってしまう「デッドロック」のような状態になっています。by Gemini思考モード
解決
Build Phaseの整理する、以上。
- CrashlyticsとかはCompile Sourcesの後にする
- Carthage, Podとかのセットアップは上の方に置いて実行しておく
