505

I am getting an error like this:

[WARN]Warning: Multiple build commands for output file /Developer/B/Be/build/Release-iphonesimulator/BB.app/no.png

[WARN]Warning: Multiple build commands for output file /Developer/B/Be/build/Release-iphonesimulator/BB.app/d.png

[WARN]Warning: Multiple build commands for output file /Developer/B/Be/build/Release-iphonesimulator/BB.app/n.png

But I have checked Xcode and I don't see any duplicates of such files at all. As this post in the Apple Mailing Lists say, there are no duplicates.

26 Answers 26

818

In the Project Navigator, select your Xcode Project file. This will show you the project settings as well as the targets in the project. Look in the "Copy Bundle Resources" Build Phase. You should find the offending files in that list twice. Delete the duplicate reference.

Xcode is complaining that you are trying to bundle the same file with your application two times.

10
  • 1
    Happens to me when I deleted some assets from the build folder (using Finder). Assets replaced with those updated with the same names and dragging them within XCode flagging "add to target" options. It seems XCode goes out of synch duplicating those entries in Copy Bundle Resources
    – brainondev
    Nov 22, 2012 at 12:14
  • 1
    I wanted to add one thing to this. If you end up with a ton of duplicate references somehow (like I did), you can simply click "Validate Settings" and it will automatically delete duplicate references. Much easier than manually seeking them out Jun 12, 2013 at 21:29
  • 1
    I had a similar issue. This answer was the closest. The <projName>.xcodeproj/project.pbxproj file had duplicate entries even though the project showed the files only once. This was a merging issue. editing with vi did the trick :) Thanks for pointing me in the right direction :)
    – javatarz
    Aug 7, 2013 at 12:08
  • 11
    Worth noting that if you have a large amount of duplicated files in the Copy Bundle Resources phase, you can click 'Validate Settings' on the bottom of this page and XCode will prompt you about the duplicates and will remove all of them if you click 'Perform changes'. Hell of a lot faster than hunting for them individually.
    – Yeti42
    Aug 26, 2013 at 14:16
  • 1
    I had a similar issue with SpriteBuilder templates when I re-added the "Published-iOS" to the project. Turns out it wants it to be a "folder reference" and not a group, and had added that entire folder into the "Copy Bundle Resources". So even if the individual resource does not appear in that list, check to make sure it's not being added from a folder.
    – samkass
    Feb 17, 2014 at 20:55
127

This is easily caused when you add git based subprojects. Xcode isn't smart enough to ignore the .git subfolder even though you can't see it from finder, so it will get very confused that there are multiple files named "master" or "exclude", (standard git repo files). With Xcode4, go to the project (root of the left tree) then click your app target and expand "Copy Bundle Resources", then remove all the references to .git, you shouldn't need them baked into your app anyway.

2
  • 43
    I fumbled about for a second, so this may help someone: app target -> build phases -> copy bundle resources
    – jaime
    Apr 14, 2011 at 16:42
  • 2
    I had multiple files with the same name (but in different directories) in my Xcode project. Accidently one of my had both of them in the Copy Bundle Resources step, which would result in one of them being overwritten in the resulting app bundle. Just remove one of them.
    – BastiBen
    Jun 26, 2012 at 11:05
118

Actually, the answer to this is quite simple.

In your Xcode project search for the files which raise the warning, and just delete one of them.

Xcode will show only one reference of that file in the search results, but don't stop there, go ahead and delete it. (it's better to make a backup of your project file before deleting it)

Now build the project again. The warning should disappear now. (this answer is for a previous version of xcode)

2
  • But the files don't come up in XCode's groups and files pane any more. What's the deal with this? Oct 7, 2010 at 14:52
  • 1
    If you continue having trouble with this, just remove all files from Xcode (don't delete them on disk). Then drag them all back in. If you still have issues after than then you actually have some resources with the same name (maybe in different folders) - find and rename/delete. Xcode output goes into a flat folder so directory structure is ignored.
    – n13
    Feb 28, 2012 at 3:10
52

This is not an Xcode bug, though the warning message is not helpful enough to describe the real cause.

This error message occurs when you have several files in your project that have the same name. You just have to delete or rename the files with duplicate names and the problem is solved.

4
  • 1
    Yes, this is the correct answer. And the situation can easily arrive when you have resource files, e.g. pngs with the same name but in separate dirs on your file system - during the build process they all get copied to 1 dir, namely the app bundle.
    – Brynjar
    Nov 23, 2011 at 11:49
  • @Brynjar is there a work around to allowing images with the same name? or to prevent the images from getting bundled together?
    – Andrew
    Feb 24, 2015 at 20:26
  • Actually I figured out that you can create Folder References to avoid the bundling.
    – Andrew
    Feb 25, 2015 at 14:08
  • Here is a way to find files with duplicate name, regardless of directory find . | grep -v \.git | rev | cut -d/ -f1 | rev | sort | uniq -c | sort however, this did not solve my problem Nov 12, 2015 at 14:25
26

This happens if you have 2 files with the same name in the project. Even though files are in groups in XCode when the project is compiled all of the files end up in the same directory. In other words if you have /group1/image.jpg and /group2/image.jpg the compiled project will only have one of the two image.jpg files.

0
20

As previously mentioned, this issue can be seen if you have multiple files with the same name, but in different groups (yellow folders) in the project navigator. In my case, this was intentional as I had multiple subdirectories each with a "preview.jpg" that I wanted copying to the app bundle:

group references

In this situation, you need to ensure that Xcode recognises the directory reference (blue folder icon), not just the groups.

Remove the offending files and choose "Remove Reference" (so we don't delete them entirely):

remove group references


Re-add them to the project by dragging them back into the project navigator. In the dialog that appears, choose "Create folder references for any added folders":

add as folder references


Notice that the files now have a blue folder icon in the project navigator:

folder references


If you now look under the "Copy Bundle Resources" section of the target's build phases, you will notice that there is a single entry for the entire folder, rather than entries for each item contained within the directory. The compiler will not complain about multiple build commands for those files.

1
  • Best answer! It works for me on the Xcode 12.2
    – ΩlostA
    Dec 4, 2020 at 16:37
15

This is not a bug. Xcode assists can assist you. Select the target, to the left in the project Navigator. Click on "Validate settings" at the bottom of the settings. Xcode will check the settings and removes duplicates if possible.

0
15

another version of this situation can occur when there are duplicates in the Headers build phase.

to fix this …

  1. go to your project target
  2. choose Build Phases
  3. choose the Headers build phase
  4. enter the name shown in the warning
  5. notice the two (or more) items
  6. find the +|- boxes in the lower left corner
  7. select one of the items, and click the - button
0
8

In my case the issue was caused by the same name of target and folder inside a group.

Just rename conflicted file or folder to resolve the issue.

1
  • This is similar to what I had. I had 2 separate targets with the same module name.
    – Lauren Yim
    Jul 1, 2021 at 12:11
6

I found a pretty easy solution for this:

  1. Select the file causing the problem from the project navigator
  2. Uncheck the target membership from the file inspector
  3. Build the project
  4. Recheck the target membership for the file again

The warning is gone! Check this image for reference.

enter image description here

0
5

I'm pretty sure this can be caused by an XCode 4 bug, at least in the cases that I've encountered it in.

It happens if you add multiple language dependent files to the project at the same time. I found this out by looking through the git differences. I did nothing in the commit but add some new localized nib files. But looking back at the difference of the project.pbxproj file it showed a bunch of new duplicate references added for files that were already in the project before. The files it did this too seemed random to me.

I reproduced this same exact behavior multiple times.

Deleting these files from the project does not fix the problem because it only deletes the original reference and leaves the duplicates. The only way to fix it is to go back a commit and start over, or hand edit the project file, which is a really good way to screw it up even more since it's hard to tell which duplicates to remove and you have to do it in a ton of different places.

Xcode 4 is just a huge disappointment for me.

3
  • Looks like this is fixed in XCode 4.2. In earlier versions you can avoid this bug by first placing the file you're about to add localizations for into it's own "Group" (virtual folder in the project). Once you're done adding localizations you can put it back where it was and delete the temp Group you created.
    – Steve
    Oct 26, 2011 at 20:04
  • This is not a bug. It is due to having more than one file with the same name in your project. Dec 12, 2011 at 18:52
  • 1
    When you localize a file you're supposed to have the same file name for each localization, except in different directories. This was indeed a bug.
    – Steve
    Dec 22, 2011 at 20:31
4

This happends because ur "no.png" "d.png" and "n.png" are duplicated in resources . Just look for delete dublicated files and delete.

3

The error seem to appear when u have more than one reference of the same file. I had 2 files of the same name and got this error. When I delete one of them the error disappear..

2

Yet another variation on this issue. I had the same message come up none of the previously suggested solutions solved the problem (I definitely only had one copy of the offending file for instance).

My solution was to edit the project.pbxproj file in a text editor (after quitting XCode and backing up the file of course) and remove all references to the offending file. Then, after starting XCode again, I manually added the file back into the project and everything was ok.

(My suspicion is that this problem happened to me because of a manual, ie: non-XCode, merge of the project file.)

1

Open the Frameworks folder in your project and make sure there are only frameworks inside. I added by mistake the whole Developer folder!

1

I had the same problem minutes ago. I've mentioned changing the 'deployment target' fixed my problem.

1

For me the Target > Build Settings > Packaging > Product Name was set to the same thing as another value referenced in a .plist file which was custom to my app. Eventually due to our build process this creates duplicate files.

0
1

Commenting use_frameworks! in PodFile worked for me.

#use_frameworks!

Note: Did this on XCode 10.1, pod version 1.8.4

0

Swift 3: (but also the older versions) it happen when I have assets with duplicates. Just rename the files with this issue and all go well.

It could happen also when you have made a Assets.xcassets and you have renamed the duplicates with new names so after time you forgot it and remove it to add the folder references but this one return to the duplicate files problem..

0

One of simple way is,

  • Go to App target
  • Go to Build Phases
  • Output files
  • Delete path of out put files, then build project. It will run successfully.
0

The key was to do pod deintegrate and rm *.workspace file ! What a waste of time !

0

React-Native users. goto file -> workspace settings -> build system -> change it to legacy build system. and it should build fine now. React-Native isn't compatible with the new file system yet.

0

This might also happen in cases where you have multiple xcode project which reference the same library in your workspace, the worksapce tries to copy the same library to the the BUILD dir even if you build a target that is dependent on a single framework.

To solve this I have used: Select yout target and click: -> Edit Sheme enter image description here -> Under build - UNCHECK Find implicit dependencies enter image description here In some cases I also had to unckeck Parallelize Build

0

"Product Name" in Build Settings was empty in my case. So the output becomes .app with empty name which leads multiple products. Set a product name and you are good to go.

0

For me this was because i changed project folder name.

and i solve it by changing the project folder name from Targer app > Build Settings > info.plist file change folder name here.

enter image description here

-1

While I'm sure there is a better way, nuking only took me less than 60 seconds, and was the only thing I could find that worked.

  1. Drag repo to the trash.
  2. re-clone your repo.
  3. set up your repo with correct remote tracking. git remote add <url.git>, or git remote set-url <url.git>

Not the answer you're looking for? Browse other questions tagged or ask your own question.