Xcode10 Archive Error - Multiple command ... 'xxx/Info.plistソリューション
2648 ワード
エラーメッセージ
:-1: Multiple commands produce '/Users/XXX/Library/Developer/Xcode/DerivedData/XXX-cqedfsiaqyswfpdkffoiytinrkcj/Build/Intermediates.noindex/ArchiveIntermediates/XXX/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/Info.plist':
1) Target 'XXX' (project 'Pods') has copy command from '/Users/XXX/Documents/SourceCode//XXX/Pods/XXX/XXX/Info.plist' to '/Users/XXX/Library/Developer/Xcode/DerivedData/XXX-cqedfsiaqyswfpdkffoiytinrkcj/Build/Intermediates.noindex/ArchiveIntermediates/XXX/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/Info.plist'
2) Target 'XXX' (project 'Pods') has copy command from '/Users/XXX/Documents/SourceCode//XXX/Pods/XXX/XXX/Info.plist' to '/Users/XXX/Library/Developer/Xcode/DerivedData/XXX-cqedfsiaqyswfpdkffoiytinrkcj/Build/Intermediates.noindex/ArchiveIntermediates/XXX/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/Info.plist'
3) Target 'XXX' (project 'Pods') has copy command from '/Users/XXX/Documents/SourceCode/XXX/Pods/XXX/XXX/Info.plist' to '/Users/XXX/Library/Developer/Xcode/DerivedData/XXX-cqedfsiaqyswfpdkffoiytinrkcj/Build/Intermediates.noindex/ArchiveIntermediates/XXX/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/Info.plist'
4) Target 'XXX' (project 'Pods') has copy command from '/Users/XXX/Documents/SourceCode/XXX/Pods/XXX/XXX/Info.plist' to '/Users/XXX/Library/Developer/Xcode/DerivedData/XXX-cqedfsiaqyswfpdkffoiytinrkcj/Build/Intermediates.noindex/ArchiveIntermediates/XXX/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/Info.plist'
の原因となる
Xcode 10は新しいtaskのbuild方式を使用しており、これまではプライベートライブラリを作る際に厳しくなかったので、プライベートライブラリのInfo.plistファイルもPod-Specファイルに入れて工事に導入したので、新しいパッケージ方式でこれらのInfo.plistとメインエンジニアリングの両方がcopyで同じ場所にエラーが発生しました.
ソリューション
原因が分かったら解決策はよくわかりますplistはプロジェクトから削除します.
### HOOK POST
post_install do |installer|
installer.pods_project.native_targets.each do |natviTarget|
natviTarget.build_phases.each do |buildPhase|
info_plist_ref = buildPhase.files.find { |f| f.file_ref.to_s == "Info.plist" }
if info_plist_ref
buildPhase.remove_reference(info_plist_ref)
end
end
end
end