⚖️
CodemagicでError (Xcode): Multiple commands produceが出てビルド出来ない
起きた問題
ローカルPCではiOSのビルドが成功しiOSのWidgetの動作もうまくいくが、Codemagicでビルドをすると以下のError (Xcode): Multiple commands produce
エラーが発生してビルドに失敗してしまう。
Error (Xcode): Multiple commands produce '/Users/builder/Library/Developer/Xcode/DerivedData/Runner-edaimyiflreloheqntgnhkmwcclv/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GoogleUtilities_Privacy.bundle'
Error (Xcode): Multiple commands produce '/Users/builder/Library/Developer/Xcode/DerivedData/Runner-edaimyiflreloheqntgnhkmwcclv/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GoogleUtilities.framework'
Error (Xcode): Multiple commands produce '/Users/builder/Library/Developer/Xcode/DerivedData/Runner-edaimyiflreloheqntgnhkmwcclv/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GTMSessionFetcher_Core_Privacy.bundle'
Error (Xcode): Multiple commands produce '/Users/builder/Library/Developer/Xcode/DerivedData/Runner-edaimyiflreloheqntgnhkmwcclv/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GTMSessionFetcher.framework'
前提と環境
- Flutterでアプリを作ってる
- home_widgetを使ってiOSのwidgetを作りたい
- WidgetKitでFirebaseの接続をしたい
- Codemagicでビルドする
Flutter
Flutter 3.24.5 • channel stable • https://github.com/flutter/flutter.git
Framework • revision dec2ee5c1f (3 weeks ago) • 2024-11-13 11:13:06 -0800
Engine • revision a18df97ca5
Tools • Dart 3.5.4 • DevTools 2.37.3
home_widget
home_widget: ^0.7.0
解決内容
Podfileに以下のように対象のExtensionのtargetにGoogleUtilities/~
とGTMSessionFetcher
を追加
target 'XXXXXXWidgetExtension' do
use_frameworks!
pod 'Firebase/Auth'
pod 'Firebase/Firestore'
+ pod 'GoogleUtilities/AppDelegateSwizzler'
+ pod 'GoogleUtilities/MethodSwizzler'
+ pod 'GoogleUtilities/Network'
+ pod 'GoogleUtilities/NSData+zlib'
+ pod 'GoogleUtilities/Environment'
+ pod 'GoogleUtilities/UserDefaults'
+ pod 'GoogleUtilities/Reachability'
+ pod 'GTMSessionFetcher'
end
なぜか、Codemagicのissueのディスカッションで書かれているpod 'GoogleUtilities'
だけだとダメだった...
辛抱強く調べていると、下記の記事がヒットして、GoogleUtilitiesを細かく指定しているものを発見👀
自分のPodfile.lockの中身を見て、Firebase周りで依存しているGoogleUtilities/~を全部洗い出して、それをPodfileに追加するとビルドが通った🙌
...ただTestFlight配信するとwidgetが見つからない...誰か解決策知ってますか....
参考記事
Discussion