Xcode 10 Error: Multiple commands produce
XcodeXcode10info.plistXcode Problem Overview
> error: Multiple commands produce '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist': 1) Target 'OptimalLive' has copy command from '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist' to '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist' 2) Target 'OptimalLive' has copy command from '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Server/Masonry/Info.plist' to '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist' 3) Target 'OptimalLive' has process command with input '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist'
Running the code in Xcode9 works, but there is a error in Xcode10.
Xcode Solutions
Solution 1 - Xcode
The issue might be occurring because of multiple Plist or other files within App-
Solution -> Open target -> Build phases > Copy Bundle Resources and remove info.plist
from there.
Note: If you have developed a watch app too then you will have to remove the plist from the watch and watch-extension too.
Solution 2 - Xcode
> This answer is deprecated - Xcode 12 has deprecated the Legacy Build System, it will be removed in a further release
I found the solution for this build error, for anybody else having the same issue with Xcode 10 build system, follow the following steps to fix it:
> 1. In Xcode, go to File->Project/Workspace settings. > 2. Change the build system to Legacy Build system.
It will resolve the build issue with the new Xcode 10.
If you want to work with the new build system, then you can find the troubleshooting help from this apple Xcode help page.
Solution 3 - Xcode
Go to Xcode -> File ->Workspace Settings. You will find one pop up like.
Select "Legacy Build System" from Build System tag. Press on "Done"
Note:- Make sure clear your project with "cmd+shift+alt+k" and "Derived Data"
Build your project it will work charm :)
Solution 4 - Xcode
I was experimenting with Core Data. I built a data model for a simple checklist program and generated the NSManagedObjects. When I compiled the project I got the following error:
error: Multiple commands produce '/Users/myUSerName/Library/Developer/Xcode/DerivedData/myCoreDateExperiment-gzbslaqdwglkzxemijpdqmizgyzc/Build/Intermediates.noindex/ myCoreDateExperiment /Debug-iphonesimulator/ myCoreDateExperiment.build/Objects-normal/x86_64/CheckListItem+CoreDataProperties.o':
1) Target ' myCoreDateExperiment ' (project ' myCoreDateExperiment ') has compile command for Swift source files
2) Target ' myCoreDateExperiment ' (project ' myCoreDateExperiment ') has compile command for Swift source files
The problem was the data model (CheckList.xcdatamodeld in my case) was in the "Compile Sources" list. The project compiled cleanly when I removed it from the list.
- Open the project navigator and select the project (very first entry at the top)
- Select your build target under Targets in the "Projects and Targets" pane
- Select Build Phases option near the top
- Expand the "Compile Sources" entry and look for your data model name. Search for "xcdatamodeld" if you have trouble finding it.
- Delete the model from the compile list
- Make sure the data model is included in the "Copy Bundle Resources" list. Add it if it is missing.
EDIT
As @WilliamT. explains in the comments, you need the xcdatamodeld in the compile list. Instead, go to your entities within the xcdatamodeld file. Select the models that are erroring, expand the left panel, and change the field of "Codegen" to "Manual/None".
Solution 5 - Xcode
> This answer is deprecated - XCode 12 has deprecated the Legacy Build System, it will be removed in a further release
Try this as well. Xcode->File->Project Settings-> Build System -> Legacy Build System.
Solution 6 - Xcode
If you are getting this from the Ditto
command creating multiple instances of the same name (NOT the 'copy files' build phase
), you may have to change the Product Module Name
.
- Click on your Target(s) Xcode is complaining about
- Click on
Build Settings
- Search for
Product Module Name
- Change the name to something unique
We have a watch target and a few notification targets in our app, so I just put things like Extension
on the end of the module name.
I found this solution originally here: https://forums.developer.apple.com/thread/103913
Solution 7 - Xcode
While checking the build log, I noticed a warning:
note: Using new build system
note: Planning build
note: Constructing build description
Build system information
warning: The Copy Bundle Resources build phase contains this target's Info.plist file '/Users/<redacted>/Repositories/Whitesmith/optimize-ios/Carthage/Checkouts/WSStatusBarNotification/Miscellaneous/Info.plist'. (in target 'JDStatusBarNotification')
So, if that's your case then just go to your target:
- Build Phases
- Copy Bundle Resource
- Remove
info.plist
.
Solution 8 - Xcode
If you use CocoaPods you may want to try deintegrate the pods and install again. It works for me.
pod deintegrate
pod install
Solution 9 - Xcode
Read this answer if error message references Core Data files
Synopsis: You may have both automatically-generated and manually-generated Core Data managed object class files.
This answer applies if the first line of the error refers to a Foo+CoreDataProperties.o or Foo+CoreDataClass.o file. Example:
error: Multiple commands produce '/Users/me/Library/Developer/Xcode/DerivedData/MyApp-uebslaqdwgldkjemijpdqmizgyzc/Build/Intermediates.noindex/ MyApp /Debug-iphonesimulator/ MyApp.build/Objects-normal/x86_64/Foo+CoreDataProperties.o':
1) Target ' MyApp ' (project ' MyApp ') has compile command for Swift source files
2) Target ' MyApp ' (project ' MyApp ') has compile command for Swift source files
The root cause can be seen by expanding the Compile Swift Source Files section of the Build Transcript. For example:
<unknown>:0: error: filename "Address+CoreDataClass.swift" used twice: '/Users/myUserName/Projects/Jnky/Foo+CoreDataProperties' and '/Users/jk/myUserName/Developer/Xcode/DerivedData/MyApp-uebslaqdwgldkjemijpdqmizgyzc/Build/Intermediates.noindex/MyApp.build/Debug/MyApp.build/DerivedSources/CoreDataGenerated/Jnky/Foo+CoreDataProperties.swift'
The first file mentioned there is a source file in your project directory, which someone generated by selecting your data model in the Project Navigator and clicking in the menu Editor > Create Managed Object Subclass. This feature was added in Xcode 7 or so.
The second file is a file of the same name but which is buried in Xcode's DerivedData
. This file is generated automatically by Xcode during every build if the data model (.xcdatamodeld
) file is included in the target's Compile Sources build phase. This feature was added in Xcode 9 or so. Zero, one or two files are generated for each entity/class, depending on the setting of the Codegen popup. That popup is in the Data Model Inspector when you select an entity while editing your data model…
The settings are:
- Manual/None No files are generated
- Category/Extension One file, Foo+CoreDataProperties.m or .swift is generated, containing an Objective-C category or Swift extension.
- Class Definition That same Category/Extension file is generated, and in addition a Foo+CoreDataClass.m or .swift is generated, containing class declaration and definition.
So you see the problem occurs when a developer (like me) who is accustomed to the older Xcode begins a project in a newer Xcode. We think that we need to use the Create Managed Object Subclass menu item, which we do, to create the files we can see in the Project Navigator while not realizing that our settings in the Codegen popup are causing Xcode to create duplicate files, which Apple "cleverly" does not show in the Project Navigator, because they don't trust developers to read and heed the comment in the header // This file was automatically generated and should not be edited.
Solution 1 - Use the Older Way
You can disable all automatic Codegen for a data model with just one setting:
- Open the problem Target's Build Phases (In Project Navigator, select project, then in list of TARGETS which appears, select the problem target, then tab Build Phases).
- Expand the Compile Sources entry and find the problem data model (
.xcdatamodeld
file). - Delete it from the compile list
- Ensure the data model is included in the Copy Bundle Resources list.
Solution 2 - Core Data Magic For Beginners
Here, you go all in on the newer way.
- Leave your data model as is in that Compile Sources.
- In each Entity Inspector in your data model, set Codegen to Class Definition.
- In the Project Navigator, delete and trash any Foo+CoreDataClass files, and rename any Foo+CoreDataProperties.m or .swift files to something like Foo+MyProperties.
- In each Foo+MyProperties.m or .swift file, if there are properties generated by Xcode, delete these properties because they will be in the hidden files created by Codegen.
With this solution, your class definitions are generated automatically from the data model on each build. You can't even see them. It is Core Data Magic, nice and simple for beginners.
Solution 3 - For Most Real-World Apps
But Solution 2 is no good if you really want to add non-managed properties. (Objective-C does not allow properties to be added in categories, and Swift does not allow stored properties to be added in extensions.) So in most real-world apps, you probably want to go halfway between Solutions 1 and 2…
- Leave your data model in the list of Compile Sources
- In each Entity Inspector in your data model, set Codegen to Category/Extension.
- In the Project Navigator, delete and trash any Foo+CoreDataClass.m or .swift files, and, to reduce future confusion, rename any Foo+CoreDataProperties.m or .swift files to maybe just Foo.m or .swift.
- Ensure that each Foo.m or .swift file contains the class definition, to which you can add your own non-managed properties.
(Acknowledgments to the answer by Positron. My answer here explains why Positron's answer (my Solution 1) works, and adds Solution 2 and Solution 3.)
Solution 10 - Xcode
I had the same problem, I had a one more helper app in main App and copy this in resource. In my case solved as :-
- Target -> 2)Build Phases 2) Copy File (n items) 3) Remove Copy File.
The Helper app automatically copied in Xcode 10.0.
Solution 11 - Xcode
Try this Its Working :
In Xcode, go to File->Project/Workspace settings.
Change the build system to Legacy Build system.
Solution 12 - Xcode
Solution 1 :
Open target ➼ Build phases ➼ Copy Bundle Resources ➼ remove info.plist from there. ➼ you will have to remove the plist from the Extensions too (if any).
Solution 2:
If you use CocoaPods you may want to try deintegrate the pods and install again.
Commands:
1) pod deintegrate
2) pod install
Solution 3:
In Xcode, go to File ➼ Project/Workspace settings.
➼ Change the build system to Legacy Build system.
Solution 13 - Xcode
One option which solved my issue is to changing build system to legacy build system. Please follow the following steps in Xcode 10+.
Here I have written a detailed article on the problem & its solution. Xcode Error: Multiple commands produce
Solution 14 - Xcode
None of the solutions proposed here worked for me. This was particularly due to CocoaPods. I was previously using Cocoapods 1.3.1. Simply upgrading to 1.5.3 didn't resolve the issue right away.
The steps I followed were:
- Delete Podfile.lock
- Delete Pods directory
- Delete Derived Data & Clean
- Exit Xcode
- Update CocoaPods to 1.5.3
- Run
pod install
- Open workspace and build
Solution 15 - Xcode
Solution 16 - Xcode
> This answer is deprecated - Xcode 12 has deprecated the Legacy Build System, it will be removed in a further release
I'm using Xcode 11.4 Can't build old project
Xcode => File => Project Settings => Build System => Legacy Build System
Solution 17 - Xcode
Before I begin note that my project utilizes Carthage as a dependency manager.
None of the existing answers here resolved my issue. What did resolve the issue for me was the following.
First, I noticed that the build error pointed out one framework in particular. Next I filtered App Target > Build Phases for that framework. I noticed that that framework was present in both "Link Binary With Libraries" and "Embed Frameworks". Noting that none of the frameworks listed under "Embed Frameworks" were ones managed by Carthage I removed the framework in question from "Embed Frameworks". I then re-built my project and everything works fine including the functionality enabled by the framework in question.
Solution 18 - Xcode
This issue arose for me after adding a second part of the Fabric suite of SDKs to the app.
What actually happened was that the GoogleUtilies Framework was added twice to the Pods project
This would have been fine prior to Xcode 10 but Xcode 10 will complain if a file has two actions against it (in this case a copy action).
It's safe to remove the second framework.
Solution 19 - Xcode
I had this problem when I had a file with the same name in two different targets. For some reason one of those files I had part of both targets. So basically I had two files. And both of those files belonged to one target.
It makes sense that a target can only have one file name per target, so just unchecking the target member box for the file that wasn't related to the main target fixed the issue.
Solution 20 - Xcode
Here is another working solution : (If you are using custom Pods)
- Select "Pods" from sidebar as highlights in screenshot.
- Click on Build Phase. Expand "Headers" section. There are 3 options Public, Private, Project
- Expand Public and check there are duplicate files. Remove it. DONE!!
Solution 21 - Xcode
So the problem I was having is that I had accidentally included the Info.plist in the project settings -> Build Phases -> Copy Bundle Resources for my target.
Solution 22 - Xcode
My error was:
> duplicate output file > > '/Users/home/Library/Developer/Xcode/DerivedData/myAppName-fawptgabysjowicvpeqydjniuovo/Build/Products/Debug-iphoneos/myAppName.app/GoogleMaps.bundle' > on task: PhaseScriptExecution [CP] Copy Pods Resources > /Users/home/Library/Developer/Xcode/DerivedData/myAppName-fawptgabysjowicvpeqydjniuovo/Build/Intermediates.noindex/myAppName.build/Debug-iphoneos/myAppName.build/Script-32CCC25BF727B592A1784900.sh
I focused on the problem file being GoogleMaps.bundle
and the location of that file being in [CP] Copy Pods Resources
, and the fact that it specified it’s a duplicate output file
(I highlighted them in black above), it's the 4th step below
First create a copy of your project and make sure you first do the following steps on that copy
1- In the project navigator I went to the blue project icon
2- I choose Build phases
3- Under Build Phases I choose [CP] Copy Pods Resources
4- Under [CP] Copy Pods Resources
I went to Output Files
and underneath there I found the file that ended with GoogleMaps.bundle
. I selected it and pressed the minus sign to delete it. Make sure you go to Output Files and NOT Input Files
5- I did a clean shift+cmmd+k
and afterwards when I built the project the error was gone
The odd thing was even though the red error went away the yellow warning was still there but it worked :)
Solution 23 - Xcode
I had bunch of Multiple commands produce
warnings - not limited to info.plist duplication in one target. Including localized resources and string files, headers etc.
Solution: remove all duplications in target membership.
Solution 24 - Xcode
Try all this option anyone of this 3 option will work for you, for sure
Option 1: Remove all files from
> Target >> Build Phases >> Compile Sources > > Target >> Build Phases >> Copy Bundle Resources
Option 2: Change the build system
> Xcode->File->Project Settings-> Build System -> Legacy Build System
Option 3: remove and update existing pod
> pod cache clean PromisesObjC
> pod cache clean PromisesSwift
> cd [your_project_dir]
> rm -rf Pods/
> rm Podfile.lock
> pod update
I hope this will help you, Happy coding :-)
Solution 25 - Xcode
Steps:
- Go to Xcode File
- Click to WorkSpace Settings
- Build System Select as Legacy Build System
Solution 26 - Xcode
Unfortunately none of these answers worked for me... here was the error I was seeing:
"Multiple commands produce '/Users/.../.../.../Frameworks/abcdef.framework"
- That command depends on command ...: script phase ""
- That command depends on command ...: script phase ""
Adding this line to the Podfile and doing a " Pod Install " was the ONLY thing that worked.
install! 'cocoapods', :disable_input_output_paths => true
I really hope this helps someone. I spent hours trying to fix this and finally got it.
Sometimes I just wish Xcode was as efficient as IntelliJ / Android Studio :(
Goodluck!
Solution 27 - Xcode
It's worth noting that this error can be produced after auto generation of CoreData models where the Codegen is not set to Manual/None.
To correct this in Xcode 10 double click on your xcdatamodeId file and select each of your entities and set Codegen to Manual/None under Class in your Data Model Inspector.
Solution 28 - Xcode
If you are manually making your entity's CoreDataClass and CoreDataProperties, make sure you go to your xcdatamodel and set the Codegen in the inspector tab to "Manual/None". Xcode will automatically create a duplicate class for you if this is set as "Class Definition".
Solution 29 - Xcode
This answer for you if you are facing problem in core data.
Go to yourfilename.xcdatamodeld and make sure all the entities have manual/None Codegen.
Solution 30 - Xcode
there are some reasons that cause this error to be shown.
1- the project name is the same as a dependency that is used on the project
this error may happen when you choose a name for your project that is the same as one of the dependencies that you use on the project for example you cannot choose FirebaseAuth
or GoogleSignIn
as the project's name if you use them via pod or SPM.
to solve this problem you should change the project name with the following way:
choose the project from project navigator
on the left sidebar, change the project name from the file inspector
-> Identity and Type
-> name
from the right sidebar.
after you change it, XCode asks you to change all relative targets and just press rename.
2 - duplicated info.plist on the Copy Bundle resources portion
you may face this error when info.plist is added to Copy Bundle resources
unwanted, choose project form project navigator
-> choose target -> goto Build Phases
tab -> Copy Bundle Resources
and if you see info.plist there, remove it by choose info.plist like the following image
3 - pod files do not work well
sometimes you got this error because the dependencies that you use break for unexpected reasons.
1 - Delete Podfile.lock
2 - Delete Pods directory
3 - Delete Derived Data & Clean (you can find this directory from XCode
menu -> Preferences...
-> Locations
-> Derived Data
and go to the directory by clicking the arrow icon at the right of the address)
4 - Exit Xcode
5 - Update CocoaPods with [sudo] gem install cocoapods
on mac terminal
6 - goto the project directory on the terminal and run pod install
7 - Open workspace and build
5- duplicated Core data
you may face this problem when you use Core data on the project
first I explain coreData codegen types:
**Class Definition: ** Choose Class Definition when you don’t need to edit the properties or functionality of the managed object subclass and properties files that Core Data generates for you.
Category/Extension: Choose Category/Extension to add additional convenience methods or business logic inside your managed object subclass.
Manual/None: Choose Manual/None to edit the properties in your managed object subclass, for example, to alter access modifiers, and to add additional convenience methods or business logic.
Choose the Manual/None
and check if a copy of xcmodeldata is exist on CopyBundleRecources
, remove it.
Solution 31 - Xcode
I using Carthage and Xcode 10.
My Solution is -> Project -> Target -> General ->
Remove the Frameworks added with Carthage from "Embedded Binaries"
usualy u have to add a script in Build Phases to strip the architecture for app store.
In Xcode 10 the script seems called always. So it copies the frameworks to the right place and you don't have to add them to the General Tab.
Note: if not set -> in Build Settings -> Search Paths -> Framework Search Paths -> set the path to the Framework u added with Carthage .... eg. "$(PROJECT_DIR)/Carthage/Build/iOS"
Solution 32 - Xcode
One of my CocoaPods was oudated and caused the issue. Did an pods update and it worked fine.
I believe it may have been the LivePerson SDK
Solution 33 - Xcode
error: Multiple commands produce '/Users/KunshtechNew/Library/Developer/Xcode/DerivedData/chat21-fgjaqebxysmggqfdnetggdbzfqih/Build/Products/Debug-iphonesimulator/Chat21.app/Base.lproj/Chat.strings':
1) Target 'chat21' (project 'chat21') has copy command from '/Users/KunshtechNew/Downloads/chat21-ios-demo-master/TildeskWidget/Chat21Core/Base.lproj/Chat.strings' to '/Users/KunshtechNew/Library/Developer/Xcode/DerivedData/chat21-fgjaqebxysmggqfdnetggdbzfqih/Build/Products/Debug-iphonesimulator/Chat21.app/Base.lproj/Chat.strings'
2) Target 'chat21' (project 'chat21') has copy command from '/Users/KunshtechNew/Downloads/chat21-ios-sdk-master 2/Chat21Core/Base.lproj/Chat.strings' to '/Users/KunshtechNew/Library/Developer/Xcode/DerivedData/chat21-fgjaqebxysmggqfdnetggdbzfqih/Build/Products/Debug-iphonesimulator/Chat21.app/Base.lproj/Chat.strings'
There can be 2 different solutions to get rid of this problem:
Solution 1
As We can see I was getting the same error.. in my case there was an extra copy of the folder Chat21Core in TildeskWidget folder ..This was creating issue.. So one of the possible solutions can also be just read the error entirely and try to find if there is any extra copy referenced from project or not.
Solution 2
Another simple solution I found when I face same type of issue for different project. This time I had to apply different solution.
pod deintegrate
from the project.- Remove the workspace file and pod.lock file from the project folder.
- Again
pod install
and try to build the project.
Hope this might work for you..
Solution 34 - Xcode
My problem was a duplicate Product Module Name
for both the Action Extension I created and the main target. The solution was changing the Product module name (Under Build Settings) for the Extension.
(XCode 11)
Solution 35 - Xcode
Had similar issue but with .swiftdoc files.
I have extensions and unit test targets in project. And they had same "Product Module Name" (PRODUCT_MODULE_NAME in Build Settings) as application. After making names unique issue gone.
Solution 36 - Xcode
Search & Remove duplicate files those are produced from multiple commands.
Here, an extra Info.plist
file should be removed (In my case it was Contents.json
)
error: Multiple commands produce '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist'
Solution 37 - Xcode
This basically means you have multiple files named Info.plist
;
Usually it's fine, but accidentally yours files are set to the same Target Membership. So the fix is: click each each file and check their Target Membership on the right, make sure they don't overlap.
Solution 38 - Xcode
Go in Project Build Phase and Remove info.plist from the Compile Sources. It will remove that issue and project will be active again.
Solution 39 - Xcode
My issue was in Xcode 10 being run in Mojave, and while trying to run unit tests that I wrote before updating to XCode 10.
In my case, I had this issue while running my TestTarget
target. To resolve, I had to:
- Delete one of the target dependency (in
TestTarget > build phases > Target Dependencies
)
since I had two other targets besides my TestTarget
and both were running the same script and creating/copying files at a certain point.
And that conflicted with what was mentioned in Build System Release Notes for Xcode 10 here: > It is an error for any individual file in the build to be produced by more than one build command. For example, if two targets each declare the same output file from a shell script phase, factor out the declaration of the output file into a single target.
New UPDATE after I updated from Xcode 10.1 to 10.2
Similar issue again showed up after I updated to Xcode 10.2. I have multiple targets in by project: Target1
and Target2
, and I solved this issue by:
- navigating to
Edit Scheme > Build
and - removing one of the target from being built: uncheck the checkbox of
Target1
underTest
since I knewTarget2
importedTarget1
Also to note here, Target2
's checkbox is to remain checked under Test
Solution 40 - Xcode
I am new to IOS development and I tried the above answers but they did not work for me.
My XCode version is 12.4, Swift 5
I was getting Multiple commands produce
error while building
I tried to expand the error from the error list but double-clicking it did nothing so first it was difficult for me to know the full error.
So I right clicked the error and copied to clipboard, pasted it in text editor.
It showed the full error
It said which part has the problem
Multiple commands produce '/Users/userName/Library/Developer/Xcode/DerivedData/ProjectName-fbeqffupediuiedlrplqjyhgyqna/Build/Products/Production-iphoneos/XCFrameworkIntermediates/GoogleAppMeasurement':
1) That command depends on command in Target 'GoogleAppMeasurement-iOS12.3' (project 'Pods'): script phase “[CP] Copy XCFrameworks”
2) That command depends on command in Target 'GoogleAppMeasurement-iOS14.1' (project 'Pods'): script phase “[CP] Copy XCFrameworks”
(I am using Google Firebase)
I was surprised to see that the pods were being compiled for 2 different versions of iOS (12.3 and 14.1)
I found that, in the active target configuration, I set iOS 12.3 in the Deployment Info
section and set 14.1 in Deployment Target
in Project level Info
tab
Setting both to same required version and then clean and build solved the issue.
Please let me know if setting 2 different versions is a mistake or not. If it was not a mistake, then what to do keeping following in mind:
- I am not allowed to set build system to legacy
info.plist
does not exist in theCopy Bundle Resources
phase
Solution 41 - Xcode
Select your scheme (top left corner) -> Edit Scheme... -> Build (left tab) -> uncheck "Find Implicit Dependencies"
And after that you may need to fix any dependencies that were not imported explicitly by your targets.
Solution 42 - Xcode
In my case, Build archive error vs Xcode10
> -1: Multiple commands produce '/Users/kk/Library/Developer/Xcode/DerivedData/react_carday_app-hjahojxsbvmmiyaklrhhuqljdfwv/Build/Intermediates.noindex/ArchiveIntermediates/react_carday_app/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/libyoga.a':
-
Target 'yoga' has a command with output '/Users/kk/Library/Developer/Xcode/DerivedData/react_carday_app-hjahojxsbvmmiyaklrhhuqljdfwv/Build/Intermediates.noindex/ArchiveIntermediates/react_carday_app/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/libyoga.a'
-
Target 'yoga' has a command with output '/Users/kk/Library/Developer/Xcode/DerivedData/react_carday_app-hjahojxsbvmmiyaklrhhuqljdfwv/Build/Intermediates.noindex/ArchiveIntermediates/react_carday_app/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/libyoga.a'
There should something like bellow in your Podfile
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == "React"
target.remove_from_project
end
if target.name == "yoga"
target.remove_from_project
end
end
end
and then run pod install
Solution 43 - Xcode
In my case, I added GoogleService-Info.plist
file twice disappointedly to my Firebase project.
I delete first added GoogleService-Info.plist
and problem solved.
Solution 44 - Xcode
Remove the damn Assets file
Solution -> Open target -> Build phases > Copy Bundle Resources and remove Assets from there.
Solution 45 - Xcode
Well, in my case:
> If you create two file with same name, will trigger this error. Remove the one you recently added, will solve this problem.
Hope this helps.
Solution 46 - Xcode
I had the same issue with a plist. Turns out I had two copies of it, one was empty and one was in my localized resources folder. Removing one of them (the empty one) solved the issue.
If you check your error, lines 1) and 2) have different paths. You likely have this file defined twice in your copy phase.
Check your target properties, Build Phases, Copy Bundle Resources, and look for a duplicate info.plist. Figure out which path is incorrect and remove it. (You'll probably want to delete it from the filesystem also.)
Solution 47 - Xcode
Moving to Xcode 10, errors like
error: Multiple commands produce '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist':
can be solved as follows:
Go to Xcode->File->Workspace/Project Settings-> Build System -> Legacy Build System
.
Solution 48 - Xcode
In Xcode 10, it will work on previous version too
- Double click on project
- You will see image like below
- select TARGET from left
- Expand Copy Bundle Resources (0 items)
- Remove corresponding file which produces the error
Solution 49 - Xcode
For dependency projects managed by cocoapods, solved the problem by providing a local podspec to exclude info.plist from sources. Take godzippa as an example
Podfile
pod 'Godzippa', :podspec => "venders/godzippa.podspec"
venders/godzippa.podspec
s.source_files = 'Sources/*.{h,m}'
Solution 50 - Xcode
In my case an Info.plist file was scooped up from one of my Cocoapods. Deleted it and solved the problem.
Solution 51 - Xcode
Same here but here is the latest solution May 2020
It looks like a bug or some new issue with new Xcode version.
Error response is:
Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65.
Detailed response:
Build system information error: Multiple commands produce '/path/of/the/project/ios/build/NameOfTheProject/Build/Products/Debug-iphonesimulator/NameOfTheProject.app/Zocial.ttf':
-
Target 'NameOfTheProject' (project 'NameOfTheProject') has copy command from '/path/of/the/project/NameOfTheProject/node_modules/react-native-vector-icons/Fonts/Zocial.ttf' to '/path/of/the/project/NameOfTheProject/ios/build/NameOfTheProject/Build/Products/Debug-iphonesimulator/NameOfTheProject.app/Zocial.ttf'
-
That command depends on command in Target 'NameOfTheProject' (project 'NameOfTheProject'): script phase “[CP] Copy Pods Resources”
Build system information error: Multiple commands produce '/path/of/the/project/ios/build/NameOfTheProject/Build/Products/Debug-iphonesimulator/NameOfTheProject.app/SimpleLineIcons.ttf':
-
Target 'NameOfTheProject' (project 'NameOfTheProject') has copy command from '/path/of/the/project/NameOfTheProject/node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf' to '/path/of/the/project/NameOfTheProject/ios/build/NameOfTheProject/Build/Products/Debug-iphonesimulator/NameOfTheProject.app/SimpleLineIcons.ttf'
-
That command depends on command in Target 'NameOfTheProject' (project 'NameOfTheProject'): script phase “[CP] Copy Pods Resources”
...
That response repeat for each .ttf file used by the library.
I had to temporary react-native unlink react-native-vector-icons
, and the project build again, but with not icons.
Solution 52 - Xcode
[Updated] try to checking on Project-> Targets -> (Your name Project) -> Copy Bundle Resources, and check if there is some duplicated name of file related on your error.
After you found duplicate name, remove the one path that shown wrong.
picture above show that I've already removed the wrong one. Sorry I wasnt take screenshoot the errors pictures. Will update if face it again.
Solution 53 - Xcode
In my case, I've got my GoogleService-info.plist
file multiple copied, as it's included in both my main app and a share extension project.
The solution is to exclude this file from the extension project (by unchecking it from the Target in its File Inspector side window view); as I don't like the option to switch to Legacy Build System (which is also working for me).
Solution 54 - Xcode
In our case, we just cleaned up any debris from "Copy Bundle Resources", only leaving the minimum items.
Solution 55 - Xcode
Commenting use_frameworks! in PodFile worked for me.
#use_frameworks!
Note: Did this on XCode 10.1, pod version 1.8.4
Solution 56 - Xcode
My situation was similar to the [Damo's one][1] - some Products were added to the Pods project twice. The structure of my Podfile was:
# platform :ios, '11.0'
def shared_pods
use_frameworks!
pod 'SharedPod1'
end
target 'Target1' do
pod 'SomePod1'
shared_pods
end
target 'Target2' do
shared_pods
end
and all shared pods were added twice. Uncommenting of first line and then pod install
solved the problem.
[1]: https://stackoverflow.com/a/55122695/2311651
Solution 57 - Xcode
I notice the target has a Run Script Phases
exactly the same as the [EC] Embed Pods Frameworks
. After removing the Run Script
, the problem was solved.
Solution 58 - Xcode
In my case, the problem comes from the podfile. I must add my test project to the podfile:
target 'MyApp' do
pod 'Firebase'
target 'MyAppTests' do
inherit! :search_paths
pod 'Firebase'
end
end
After that, I need to execute:
pod update
Solution 59 - Xcode
For those using React Native and Cocoapods
The issue was produced by some libRN...a files. I fixed it by removing some of them like libRNScreens.a and libRNGestureHandler.a from Build Phases -> Link Binary with Libraries since they were already being referenced from another libraries. Others had to be replaced by their Pod version like libRNDeviceInfo.a:
Solution 60 - Xcode
In my case cleaning deprived data and build settings(in this order) , and restarting Xcode and Simulator helped.
I tried to do Solution -> Open target -> Build phases > Copy Bundle Resources , but it appeared there again. Cleaning deprived data helped. in the error it shows where is the duplicate, in my case it said it was in my app bundle and in deprived data.
Solution 61 - Xcode
Issue: Faced Error on creating xcodebuild archive for Cocoapod Project in the command line.
Error in Console: error: Multiple commands produce '/Users/xxxx/Library/Developer/Xcode/DerivedData/...':
Steps that resolved this issue:
- Open Xcode
- Select Scheme in the Top of Xcode Editor
- Select Edit Scheme
- Select Build in the left column of the Popup window.
- If any additional Target got added other than the Target related to Edited Scheme.
- Select the irrelevant Target and remove it by pressing "minus icon" and close the popup.
- Run the xcodebuild command again in the command line to get the issue resolved.
Description with image:
Step 1:
Step 3:
Step 4-6:
Solution 62 - Xcode
The multiple produce error was being triggered by a hidden file for me (.gitkeep) Look at your compile sources closely, I believe this file was in Compile Sources but it shows up as an empty row. It doesn't actually say the hidden file's name, but I deleted the blank row and it fixed the issue, so I suspect the project navigator doesn't show hidden files.
Solution 63 - Xcode
In my case I had a modified watch project where the app and the extension all had a info.plist
files (all named with the same name), to solve this I have renamed the files for the ios app I left it as info.plist
for the watch I have named it watch_info.plist
and so on
After that I have modified the 'project->target->build settings' under packaging info.pilst and modified the plist file name accordingly, that solved it for me
note that I saw in other places to changed the build system from new to legacy under project/workspace settings, Although it works - I do not recommend this as it causes other issues down the road.
Solution 64 - Xcode
The duplication of Product Name
may also cause the same problem, especially when you are creating more than one extension target in a single workspace.
Make sure you also check Product Module Name
according to @Lirik 's answer.
Solution 65 - Xcode
Sometimes the reason for this problem is that you have multiple targets that have different iOS deployment target. just check that your targets(for example your main app target and your extensions) have the same iOS deployment target.
Solution 66 - Xcode
In my case, I had imported files from another project and had the same class in two locations.
I had the following related error message:
When I copied the error, it turned out to copy a lot MORE textual information, and when I read through the dump, I came to the relevant line:
which was followed by the locations and allowed me to eliminate the problem.
In the process, I found out what needs to be in 'Copy Bundle Resources':
-
Main.storyboard
-
Assets.xcassets
-
any SpriteKit scenes (.sks) your project uses
Solution 67 - Xcode
I got the same problem but with the header files.
In this case the solution is to move headers from "Public" to "Project" section.
Solution 68 - Xcode
For me the problem was tied to having the same file included in the bundle resources twice. Not sure how that happened, but I removed one of them and it compiled fine with the new build system.
Solution 69 - Xcode
My ProjectName.xcodeproj
had a valid and an invalid reference to a file with same name. Same filename in the project navigator, one filename was red, the other okay. I got rid of the invalid reference one (the red one), issue resolved.
Solution 70 - Xcode
In my case, I had the same custom Public Header Folder Path for two different static libs. One was for a main app another for a watch app. Changed the path for the watch app and now everything is fine.
Solution 71 - Xcode
In my case (I'm using Carthage) the problem with
error: Multiple commands produce
1) Target *** has copy command from
2) That command depends on command in Target ***: script phase “Run Carthage Script”
was caused due to importing frameworks both to Embeded frameworks and Run carthage script phases in Build Phases configuration
These 2 phases copy frameworks to derrived data, so Xcode see duplicated files and print these errors with warning:
ignoring duplicated output file: (in target ***)
After removing duplicated frameworks from Embeded frameworks phase everything is working correctly.
Solution 72 - Xcode
I had multiple copies of same file. Simply, keep one copy and remove all remaining. Clean Build, and issue sorted.
Solution 73 - Xcode
If the issue with your error is .app/ (and not .app/Info.plist) see this answer here: https://stackoverflow.com/questions/52452472/xcode-10-error-multiple-commands-produce-react-native
Solution 74 - Xcode
OK so for anyone who hadn't found correct answer here because it has nothing to do with info.plist...
I ran into this problem while I was developing a macOS app without CocoaPods or Carthage, just with SPM packages, manually dragging xcodeproj
s into workplace.
When I was using only one dependency (it was using Swift-NIO from within), everything was OK, but when I added one more one more dependency with overlapping subdeps, I got this nasty problem.
The solution is to try to compile all major dependencies separately (it would fail due to unexisting checkout folders within respective .build
folders, and this is most probably happened because you put your pkgs in edit mode (swift package edit YourPkg ...
).
You just unedit
your pkgs, and force all dependencies to compile successfully. After that you must make sure that your linked binaries within main target aren't overlapped (I'm not sure it's really necessary, but just in case).
After that everything should be working just great :)
Solution 75 - Xcode
For people who rely on names to be the same for Swift header imports. (Ex: header file name: #import "MyApp-Swift.h"
):
This header file's name is actually determined by ${SWIFT_MODULE_NAME}-Swift.h
where SWIFT_MODULE_NAME
uses PRODUCT_MODULE_NAME
as the default value.
Moreover, there is a build setting that is project-wide called: SWIFT_OBJC_INTERFACE_HEADER_NAME
“Objective-C Generated Interface Header Name” and it's default value is ${SWIFT_MODULE_NAME}-Swift.h
. By changing this value to MyApp-Swift.h
all targets within our aggregate build were able to share the same header name and from them we were able to change the PRODUCT_MODULE_NAME
value.
Solution 76 - Xcode
In case you're getting this error with React Native, specifically with libyoga.a
, check out this Github comment
Solution 77 - Xcode
If your app is generating the error related to the multiple .app
files then removing the .plist
files from "Copy bundle Resources" WILL NOT WORK.
If the error is related to .app file then follow the following steps
-
Select the Target.
-
Go to
Build Phases
tab. -
Remove the items listed in
Output Files
-
Compile the code if it compiles successfully then not follow the next steps.
-
If code does not compile successfully and Xcode may give you an error related to "Library not found". Then add the missing library in
General
Tab inLinked Frameworks and Libraries
that Xcode mentioned in the error. -
Keep adding these libraries (that Xcode ask through compile errors) in
Linked Frameworks and Libraries
until the code compiles successfully.
Hope this helps.
Solution 78 - Xcode
Actually you can use legacy build system but you wont get the speedy build times i.e) u won't get the new build systems features which have been made default in XCode10 It is just a workaround for not getting the latest build features https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes/build_system_release_notes_for_xcode_10
Solution 79 - Xcode
If you develop private cocoapod
, and had already added it via Podfile
,
remove it from Embedded Binaries
section:
Solution 80 - Xcode
Check your supported platforms!
We spent months looking into this issue with several our of child projects. We found that AVAILABLE_PLATFORMS
was being set to "appletvos appletvsimulator iphoneos iphonesimulator macosx watchos watchsimulator"
which was causing multiple platforms to be built, which would lead to the "Multiple commands produce error." For instance, "Foo" platform was building for both iOS and TVOS, and thus multiple build commands were creating a Foo.framework
file.
As soon as we set
AVAILABLE_PLATFORMS = iphoneos iphonesimulator
in our root xcconfig
file, this problem went away all child projects.
To check your config
Run
xcodebuild -project FitbitMobile.xcodeproj -target "FitbitMobile" -showBuildSettings > BuildSettings.txt
See if the output is being set to what you'd expect. If you're an iOS app and you're building for tvOS, you'll want to update your config.
Solution 81 - Xcode
I had the same problem but where able to fix it by removing the associated .png's and the icon asset catalog and then build the app. That generated expected errors as assets were missing. After than I added everything again and build the app with no problems.
Solution 82 - Xcode
1- Remove DerivedData For all Apps 2- Open Terminal 3- Update Pod Every thing Done
Solution 83 - Xcode
No Legacy build system If you have Podfile like this
def shared_pods
pod 'X'
end
target 'A' do
shared_pods
end
target 'B' do
shared_pods
end
and B also has dependecy on A then move B into A like this
target 'A' do
shared_pods
target 'B' do
inherit! :search_paths
end
end
Solution 84 - Xcode
This error can also be encountered when you are creating a framework.
In your framework project if you have app targets and you have set different iOS version under Deployment Info section for each app target doing a pod install
will create a new target for the same pod with ios version suffixed.
You can check this by going to the pods target. If you see duplication then that's your problem. Xcode get's confused because of this and throws an error like this.
Multiple commands produce '/Users/userName/Library/Developer/Xcode/DerivedData/ProjectName-fbeqffupediuiedlrplqjyhgyqna/Build/Products/Production-iphoneos/XCFrameworkIntermediates/SomePodFramework':
1) That command depends on command in Target 'SomePodFramework-iOS10.0' (project 'Pods'): script phase “[CP] Copy XCFrameworks”
2) That command depends on command in Target 'SomePodFramework-iOS13.0' (project 'Pods'): script phase “[CP] Copy XCFrameworks”
Here's what you need to do.
- Make all the minimum ios version under Deployment info for all the targets same. This will make sure when you do pod install, cocoapods doesn't create a new target of the same pod depending on multiple ios versions.
- Close you workspace. Delete xcworkspace, Podfile.lock and Pods folder.
- Run
pod install
.
Now when you open the worksapce you can check the pods target again. You will see that there is no duplication.
Now just change the deployment info of all your targets to what it was.
Solution 85 - Xcode
For me, it was simply having two files with the same name.
Solution 86 - Xcode
For me, it was when i embedded a framework of a cocoapod. All you need to do is remove it from the embedded content tab in the general build target.