ChatGPT解决这个技术问题 Extra ChatGPT

Xcode 10 Error: Multiple commands produce

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.

For cocoapods managed dependencies, refer to stackoverflow.com/a/52421345/334999
happens when you import third-party framework to your project and it has info.plist in it's source files. This info.plist conflicts with your app's one. Just remove it from Build phases
Dear reader, read EVERY answer to this question, there are many different things that may be wrong.
Goto path "Build Phases->Copy Bundle Resources". Check for file name and delete the same. Clean and run the apllication
I concur with @iluvcapra. Keep reading and trying the different solutions in this thread. They all work! But only for the right situation. Thank you brother Capra lover. You inspired me to stick with this thread over the course of a couple few days and finally, after trying and eliminating many different possibilities, I DID find the solution, IN THIS THREAD!, toward its certainly ever extending tail, miraculously. IMHO opinion: This error message: error: Multiple commands produce , is waaaaaay to general. Apple must disambiguate this at some point surly?

A
Alok

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.

https://i.stack.imgur.com/whT0P.png

Note: If you have developed a watch app too then you will have to remove the plist from the watch and watch-extension too.


You may also need to look in any dependencies ie CocoaPods for wrongly added info.plist files
To elaborate a bit: This error is happening because Xcode 10's new build system is better at catching project configuration issues. Issues like these can sometimes cause subtle problems with your build, so it's good to fix them.
In my case, I had an info.plist file in one of my private CocoaPods dependencies that was getting scooped up because it was matched by the podspec's source_files property. I didn't need the info.plist file in my module, so I just deleted it.
Thanks! I had added some developers plugin n my code some time ago and it also had an info.plist file which conflicted with my app's info.plist
Thank you @Alok :) Instead of removing the files, I renamed both of them with unique names and my code is working all fine.
s
shim

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:

In Xcode, go to File->Project/Workspace settings. Change the build system to Legacy Build system.

https://i.stack.imgur.com/N9rIg.png

If you want to work with the new build system, then you can find the troubleshooting help from this apple Xcode help page.


can you explain why is this issue coming and also how choosing Legacy Build System resolves it? @Akshay Sunderwani
You are not fixing the issue, you are just hiding them.
Fixes build error for react-native projects. See issue here: github.com/facebook/react-native/issues/20492 There is a possible fix if you don't want to switch to the Legacy Build System: github.com/facebook/react-native/issues/…
This is not a long-term fix. Eventually the legacy build system will no longer be an option.
Well I'm 100% gonna hide the problem instead of fixing it because none of these solutions work. Seems to be a known problem with Cocoapods; see github.com/CocoaPods/CocoaPods/issues/7949 . I'll hope it somehow fixes itself by the time this workaround is no longer an option.
H
Hardik1344

Go to Xcode -> File ->Workspace Settings. You will find one pop up like.

https://i.stack.imgur.com/hdaJu.png

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 :)


As per my understanding our existing projects are made in old swift and xcode which are supported old version of swift and xcode. So earlier what we did, we went on "Bundle Settings->Swift legacy Build System"and did select earlier version.
I originally had it on "Swift Legacy Build System", but it had been switched after restarting my computer. Even if you think you have this set correctly, it could still be worth double-checking.
This solution do not fixing the issue, it just hiding it.
Also make sure you change the Per-User workspace settings to the same ;)
Legacy Build System is now officially depreciated, as of Xcode 12: "The legacy build system is deprecated, and will be removed in a future release. (62742902)" (developer.apple.com/documentation/xcode-release-notes/…)
c
christo8989

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".


The xcdatamodeld file should actually be in Compile Sources. if you're seeing this error in relation to Core Data it's likely because you invoked "Create NSManagedObject Subclass" but you have your Entity set to Codegen = "Class Definition". This means it's automatically creating these classes for you and you created them manually so they exist twice.
@WilliamT. So what should be the value of Codegen if one is invoking Create NSManaged Object Subclass?
@Kaunteya There's an option to set the Codegen to "Manual" on each CoreData Attribute (table)
Follow @WilliamT. advice and then clean and build.
@WilliamT. is right (great thanks!) for those who experimented with Core Data. In the Navigator Area on the left of XCode, find and click your .xcdatamodeld file > in the Editor Area in the middle of XCode, select your Entity > its attributes will be displayed on the far right > find Codegen and change its value from "Class Definition" to "Manual/None". That's it.
C
Chanchal Raj

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.


In this case Xcode is flagging a problem in the project, so reverting to the legacy build system will just hide it for now. Xcode's reporting of these sorts of problems is intentional and it's best to fix the issue.
If the error is in CocoaPods' generated project then I would disable the new Build System until a new CocoaPods version fixes the problem.
@RickBallard makes sense, now, which could be the right fix? there seems to be a mix of answers
There are multiple causes of this kind of error, but you can read more about what it means at help.apple.com/xcode/mac/10.0/#/dev14a2fd0c0
Legacy Build System is now officially depreciated, as of Xcode 12: "The legacy build system is deprecated, and will be removed in a future release. (62742902)" (developer.apple.com/documentation/xcode-release-notes/…)
u
u2Fan

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


It worked a bit fine, but then it broke with the bridging file.
In my case, I had to select All on the right of where you search for Product Module Name to make that build configuration show.
I got same problem in Xcode 10. Same project was working fine in Xcode 9.4.1. So the solution is very simple. Just remove all info.plist files from target. Please do this for all info.plist files. Step:1. Select info.plist file. 2. In File inspector Untick the project in Target Membership. Then run your project. Thanks !
For me I had to go to the [Project_Name] > Build Phases > Copy Bundle Resources and remove the duplications there
@Bharath Don't remove info.plist files from your project. You need to remove only from Target as I mentioned. We can't remove info.plist, It's very important for project.
M
Ming Chu

If you use CocoaPods you may want to try deintegrate the pods and install again. It works for me.

pod deintegrate

pod install


Yes, my problem was caused by a pod package and only this fixed the problem! thanks
Yeah! This happened to me after playing around with Pods and adding App icon through XCode bit later on. Hope this helps
r
ricardopereira

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.


info.plist file is not present in copy bundle resources, still getting the same error
Removing an excessive Info.plist from the copy bundle resources build phase solved it for me. However, my warning was different because accidentally an Info.plist of a different target but within the same project was added to the Copy Bundle Resources build phase. The warning was: "warning: duplicate output file '... MyApp.app/Info.plist' on task: ProcessInfoPlistFile". And leading to the same error as in the original question: "error: Multiple commands produce '... MyApp.app/Info.plist'".
in my case it was "LICENSE" file - once I've removed it, the issue was fixed, so I guess the problem is more general than "plist", just seems to be just a more often encountered
J
Jerry Krinock

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…

https://i.stack.imgur.com/5xtPT.png

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.)


Nice answer. Just wanted to add you can clear the duplicated hidden files using 'Product > Clean Build Folder' after fixing the Codegen to Manual/None taken from a comment from here.
P
Prakash Jat

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 :-

1) Target -> 2)Build Phases 2) Copy File (n items) 3) Remove Copy File.

The Helper app automatically copied in Xcode 10.0.

https://i.stack.imgur.com/rOv6z.jpg


Copy files + Copy Bundle Resources deletion helped.
This worked for me with slight modification - In my case there were multiple files in the copy files step, somehow the same filenames were copied to the bundle multiple times/twice - resulting in the error : deleting a single row needs you to highlight the row/filter the name complained in the error and delete one row by minus sign (its always on the bottom row) instead of deleting that entire copy files step.
H
Haseeb Javed

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.


I was using different versions of deployment target in my pod file, so I kept the all the target version same., and pod deintegrate and pod install worked for me
In my case Solution 2 worked. I've added the info.plist file so it got added in bundle resources automatically. After I removed the info.plist from Copy Bundle Resources, issue resolved.
"Legacy Build System" is deprecated so I use Solution 2 and it worked fine...
Solution 2, 3 are suitable ones, and worked fine for me, but Solution 1 is deprecated and causing a further problems
I have Tried Solution 2 and 3 it's working fine for me, Solution 1 is deprecated. For me many duplicated files so tried this one too... Build Phases --> Compile Sources. Check and remove duplication of errored files
A
Akash Patel

Try this Its Working :

In Xcode, go to File->Project/Workspace settings.

Change the build system to Legacy Build system.


In this case Xcode is flagging a problem in the project, so reverting to the legacy build system will just hide it for now. Xcode's reporting of these sorts of problems is intentional and it's best to fix the issue. For more information please see help.apple.com/xcode/mac/10.0/#/dev14a2fd0c0.
A
Asad Ali Choudhry

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

https://i.stack.imgur.com/3F4yl.jpg

https://i.stack.imgur.com/donV4.jpg


This answer has single-handedly fixed like 12 problems I have been having in Xcode with React Native. Thank you!
J
Justin

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


Updating CocoaPods to 1.5.3 (sudo gem install cocoapods) and running (pod install) was enough to get it working for me. Thanks!
I did some of recommened above but this was the only one that solved for me. Thanks
This one solved it for me too. I think it is better than the legacy build solution because it actually takes care of the issue.
This worked for me, but I also had to add install! 'cocoapods', :disable_input_output_paths => true at the top of my podfile. Additionally, if you don't want to update your pods - don't delete podfile.lock and all pods will be installed at their current version.
This is a great general process for fixing lots of things. Great answer.
f
fullmoon

In my case PDFGenerator was producing an info.plist file, I just deleted it.

https://i.stack.imgur.com/t2a1M.png


s
shim

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

https://i.stack.imgur.com/NtH2R.jpg

https://i.stack.imgur.com/iZEWE.png


D
Damo

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

https://i.stack.imgur.com/F2ogp.png

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.


The same for me, but using Carthage dragging all .frameworks to libraries section project
Have you fixed this @Damo
I am facing this issue, Could you tell me how to fix this, without changing legacy
p
palmi

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.


I used PODS. Removing everything from Embed Frameworks worked. I clean and rebuilt with no errors. The legacy solution also works but doesn't solve the issue at hand (for anyone reading this). I'm on xcode 10.2, cocoapods-1.6.1.
I'm using Carthage and this fixed it for me!
I also used CocoaPods. Framework is connected as development pod. "Embed Frameworks" is empty and still got this issue
C
Charlie Fish

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.


A
Austin

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.


This was precisely the solution for me too, as this error occurred while trying to run tflite_camera_example in Xcode 10
J
JJJ

Steps:

Go to Xcode File Click to WorkSpace Settings Build System Select as Legacy Build System


In this case Xcode is flagging a problem in the project, so reverting to the legacy build system will just hide it for now. Xcode's reporting of these sorts of problems is intentional and it's best to fix the issue. For more information please see help.apple.com/xcode/mac/10.0/#/dev14a2fd0c0.
This works for me. Changing product name doesn't. As my product is mixed with half objective-c code and swift code. My issue is "Multiple commands produce swiftmodule"
there is problem it is showing that Legacy Build System is depratcted
G
Gajendra K Chauhan

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!!

https://i.stack.imgur.com/L7FzS.png


this answer should also be seen as a solution in case the (custom) pod is causing the issue!
Also you can remove any *.plist files from here. It seems to work for custom pods.
L
Lance Samaria

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

https://i.stack.imgur.com/RfC7M.png

2- I choose Build phases

https://i.stack.imgur.com/esmB6.png

3- Under Build Phases I choose [CP] Copy Pods Resources

https://i.stack.imgur.com/nieLw.png

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

https://i.stack.imgur.com/gBhOx.png

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 :)


m
mohsen

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.

https://i.stack.imgur.com/FLtvC.png

after you change it, XCode asks you to change all relative targets and just press rename.

https://i.stack.imgur.com/ZtsDz.png

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

https://i.stack.imgur.com/DNKgZ.png

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:

https://i.stack.imgur.com/x7DV8.png

**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.

https://i.stack.imgur.com/wkR32.png


W
Will Gwo

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.


I had this error because i had a watch target with it's own infoplist.strings file which was being copied to the same directory as the main app's infoplist.strings file. They would both end up in the same place when being built.
S
Shoaib Bagwan

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 :-)

-1. No it doesn't work "for sure". What is the point in removing compile sources and copy bundle resources?! Project won't work without compiling code and resources.
M
Mario Bouchedid

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!


note, this one requires newer pod installation > 1.6 i guess based on this ralfebert.de/ios/blog/cocoapods-clean-input-output-files
You might want to do first a Product -> Clean Build Folder.
OMG Mario! This worked for me! THANK YOU so much for this solution. My problem was specifically with Google Analytics pods creating the error. I just inserted this line near the top of my Podfile and suddenly my project would build. My steps were: 1) Add this line to pod file 2) Pod deintegrate 3) Pod install 4) Product --> Clean Build Folder 5) Build code base 6) Scream hallelujah, hug my girlfriend, pop a cold one, light a fatty and relax 7) :-D
@KeithTheBiped Happy to help!! Happy coding :)
M
Muhammad Farooq

https://i.stack.imgur.com/AXu7c.png


A
Aurelia W

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.


Yes! And also do a "Clean Build Folder".
A
Andrew Lee

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".


关注公众号,不定期副业成功案例分享
Follow WeChat

Success story sharing

Want to stay one step ahead of the latest teleworks?

Subscribe Now