# エラー対応. Archive. Validate 時のエラー

# エラーメッセージ

Archive. Validate したときに、次のようなエラーが出る

App Store Connect Operation Error
CFBundleIdentifier Collision. There is more than one bundle with the CFBundleIdentifier value 'org.alamofire.Alamofire' under the iOS application 'Carmine.app'.

App Store Connect Operation Error
Invalid Bundle. The bundle at 'Carmine.app/Frameworks/DropboxUtil.framework' contains disallowed nested bundles.

# 理屈

エラーメッセージの意味は

  • Carthage により(?)、フレームワークのコピーのスクリプトが組み込まれているが
  • (A) と (B),(C) でコピーしている Framework が重複してる
  • (B),(C) で Framework が入れ子されてる。これは禁止
(A) Carmine> TARGETS> Carmine> Build Phase> Run Script> Input Files
    $(SRCROOT)/Carthage/Build/iOS/SwiftyDropbox.framework
    $(SRCROOT)/Carthage/Build/iOS/Alamofire.framework

(B) DropboxUtil> TARGETSDropboxUtil> Build Phases> Run Script> Input Files
    $(SRCROOT)/Carthage/Build/iOS/SwiftyDropbox.framework
    $(SRCROOT)/Carthage/Build/iOS/Alamofire.framework

(C) ZipUtil> TARGETS> ZipUtil> Build Phases> Run Script> Input Files
    $(SRCROOT)/Carthage/Build/iOS/ZipArchive.framework

# 解決方法

  • (B), (C) のコピーしないよう削除。
    • ※ (A) 側を削除しても、「入れ子」の方の警告が消えないのだ

[ 📩 ご意見 ]