我得到一个这样的错误:

[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,我没有看到任何这样的文件的副本。正如苹果邮件列表中的这篇文章所说,没有副本。


当前回答

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

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

其他回答

虽然我确信有更好的方法,但核弹只花了我不到60秒的时间,而且是我能找到的唯一有效的方法。

将repo拖到垃圾桶。 重新克隆你的回购。 设置你的回购与正确的远程跟踪。Git远程添加<url。Git >或Git remote set-url <url.git>

这不是一个bug。Xcode辅助可以帮助你。在项目Navigator的左侧选择目标。点击设置底部的“验证设置”。Xcode会检查设置并删除重复项。

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

对我来说,目标>构建设置>包装>产品名称被设置为与我的应用程序自定义的.plist文件中引用的另一个值相同的东西。最终,由于我们的构建过程,这创建了重复的文件。

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

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

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

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

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


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