I keep getting these "Multiple commands produce" errors when building my Flutter iOS app. This started after updating to macOS 15.6 and Xcode 16.4.
Error:
Error (Xcode): Multiple commands produce '/Users/tafseerapp/Tafseer/build/ios/Debug-iphonesimulator/.app' note: Target 'Runner' (project 'Runner') has create directory command with output note: Target 'Runner' (project 'Runner') has link command with output
Environment:
macOS: 15.6 (24G84)
Xcode: 16.4 (Build version 16F6)
Flutter: 3.32.8 (latest stable). Also tried beta channel
CocoaPods: 1.16.2
Account: Secondary user account (not admin)
Current Podfile:
platform :ios, '13.0'
install! 'cocoapods', :disable_input_output_paths => true
install! 'cocoapods', :disable_input_output_paths => true
install! 'cocoapods', :disable_input_output_paths => true
install! 'cocoapods', :disable_input_output_paths => true
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
project 'Runner', {
'Debug' => :debug,
'Profile' => :release,
'Release' => :release,
}
def flutter_root
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
unless File.exist?(generated_xcode_build_settings_path)
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
end
File.foreach(generated_xcode_build_settings_path) do |line|
matches = line.match(/FLUTTER_ROOT\=(.*)/)
return matches[1].strip if matches
end
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end
require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
flutter_ios_podfile_setup
target 'Runner' do
use_frameworks!
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
target 'RunnerTests' do
inherit! :search_paths
end
end
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
end
What I've Tried:
Legacy Build System Firebase SDK downgrade (11.8.0 → 10.x versions); Flutter beta channel install! 'cocoapods', :disable_input_output_paths => true Complete pod deintegrate/reinstall Checked Copy Bundle Resources (no Info.plist duplicates) flutter create . to regenerate iOS project;
Permissions fix: sudo chown -R $USER ~/Library/Developer/Xcode/DerivedData Created minimal Flutter app (builds successfully without Firebase)
Key findings:
Minimal Flutter app without Firebase builds fine Same error persists even with legacy build system Verbose output shows gRPC-related warnings (Firebase dependencies) Build phases look normal (no obvious duplicates)
What else could cause "Multiple commands produce" when even legacy build system fails? This seems to be specific to Firebase + Xcode 16.4 + macOS 15.6 combination.