我得到一个这样的错误:

[WARN]警告:输出文件/Developer/B/Be/build/ release - iphoneonessimulator /BB.app/no.png有多个构建命令 [WARN]警告:输出文件/Developer/B/Be/build/ release - iphoneonesemulator /BB.app/d.png有多个构建命令 [WARN]警告:输出文件/Developer/B/Be/build/ release - iphoneonesemulator /BB.app/n.png有多个构建命令

但是我检查了Xcode,我没有看到任何这样的文件的副本。正如苹果邮件列表中的这篇文章所说,没有副本。


当前回答

这也可能发生在你有多个xcode项目在你的工作空间中引用同一个库的情况下,即使你构建了一个依赖于单个框架的目标,工作空间也会尝试将相同的库复制到BUILD目录。

为了解决这个问题,我使用了: 选择目标,单击: ->编辑遮光 -> Under build - UNCHECK查找隐式依赖项 在某些情况下,我还必须取消选择并行化构建

其他回答

当你对同一个文件有多个引用时,错误似乎就会出现。 我有两个相同名称的文件,并得到这个错误。当我删除其中一个错误消失。

如前所述,如果在项目导航器中有多个具有相同名称的文件,但位于不同的组(黄色文件夹),则可以看到此问题。在我的例子中,这是故意的,因为我有多个子目录,每个都有一个“preview.jpg”,我想复制到应用程序包:

在这种情况下,你需要确保Xcode识别目录引用(蓝色文件夹图标),而不仅仅是组。

删除违规文件并选择“删除引用”(这样我们就不会完全删除它们):

通过将它们拖回项目导航器,将它们重新添加到项目中。在弹出的对话框中,选择“为任何已添加的文件夹创建文件夹引用”:

注意,这些文件现在在项目导航器中有一个蓝色的文件夹图标:


如果您现在查看目标构建阶段的“Copy Bundle Resources”部分,您将注意到整个文件夹只有一个条目,而不是目录中包含的每个项目都有条目。编译器不会因为这些文件有多个构建命令而报错。

关键是做豆荚分解和rm *。工作区文件!真是浪费时间!

如果项目中有两个名称相同的文件,就会发生这种情况。即使在XCode中文件是分组的,当项目编译时,所有文件最终都在同一个目录中。换句话说,如果您有/group1/image.jpg和/group2/image.jpg,编译后的项目将只有两个image.jpg文件中的一个。

在我的案例中,这个问题是由组内的目标和文件夹名称相同引起的。

只需重命名冲突的文件或文件夹即可解决问题。