我收到这样的错误:
[WARN]警告:输出文件 /Developer/B/Be/build/Release-iphonesimulator/BB.app/no.png 的多个构建命令 [WARN]警告:输出文件 /Developer/B/Be/build 的多个构建命令/Release-iphonesimulator/BB.app/d.png [警告]警告:输出文件的多个构建命令 /Developer/B/Be/build/Release-iphonesimulator/BB.app/n.png
但是我检查了 Xcode,我根本看不到此类文件的任何重复项。正如 Apple 邮件列表中的 this post 所说,没有重复。
在 Project Navigator 中,选择您的 Xcode Project 文件。这将向您显示项目设置以及项目中的目标。查看“复制捆绑资源”构建阶段。您应该在该列表中找到有问题的文件两次。删除重复的引用。
Xcode 抱怨您试图将同一个文件与您的应用程序捆绑两次。
当您添加基于 git 的子项目时,这很容易引起。 Xcode 不够聪明,无法忽略 .git 子文件夹,即使您无法从 finder 中看到它,所以如果有多个名为“master”或“exclude”的文件(标准 git repo 文件),它会非常困惑。使用 Xcode4,转到项目(左侧树的根目录),然后单击您的应用程序目标并展开“复制捆绑资源”,然后删除对 .git 的所有引用,无论如何您都不需要将它们烘焙到您的应用程序中。
其实,这个问题的答案很简单。
在您的 Xcode 项目中搜索引发警告的文件,然后删除其中一个。
Xcode 将在搜索结果中仅显示该文件的一个引用,但不要停在那里,继续删除它。 (最好在删除之前备份您的项目文件)
现在再次构建项目。警告现在应该消失了。 (此答案适用于以前版本的 xcode)
这不是 Xcode 错误,尽管警告消息不足以描述真正的原因。
当您的项目中有多个同名文件时,会出现此错误消息。您只需删除或重命名具有重复名称的文件即可解决问题。
find . | grep -v \.git | rev | cut -d/ -f1 | rev | sort | uniq -c | sort
如何,但这并没有解决我的问题
如果项目中有 2 个同名文件,则会发生这种情况。即使在编译项目时文件在 XCode 中的组中,所有文件最终都在同一个目录中。换句话说,如果你有 /group1/image.jpg 和 /group2/image.jpg 编译的项目将只有两个 image.jpg 文件之一。
如前所述,如果您在项目导航器中有多个同名但位于不同组(黄色文件夹)中的文件,则会出现此问题。就我而言,这是故意的,因为我有多个子目录,每个子目录都有一个“preview.jpg”,我想将其复制到应用程序包中:
https://i.stack.imgur.com/XUQML.png
在这种情况下,您需要确保 Xcode 识别目录引用(蓝色文件夹图标),而不仅仅是组。
删除有问题的文件并选择“删除参考”(所以我们不会完全删除它们):
https://i.stack.imgur.com/xafUq.png
通过将它们拖回项目导航器中,将它们重新添加到项目中。在出现的对话框中,选择“为任何添加的文件夹创建文件夹引用”:
https://i.stack.imgur.com/Iz0Ci.png
请注意,文件现在在项目导航器中有一个蓝色文件夹图标:
https://i.stack.imgur.com/Fmq6u.png
如果您现在查看目标构建阶段的“复制捆绑资源”部分,您会注意到整个文件夹只有一个条目,而不是目录中包含的每个项目的条目。编译器不会抱怨这些文件的多个构建命令。
这不是错误。 Xcode 助手可以为您提供帮助。选择项目导航器左侧的目标。单击设置底部的“验证设置”。 Xcode 将检查设置并尽可能删除重复项。
当 Headers 构建阶段存在重复时,可能会发生这种情况的另一个版本。
解决这个问题……
转到您的项目目标 选择 Build Phases 选择 Headers 构建阶段 输入警告通知中显示的名称 两个(或更多)项目 找到左下角的 +|- 框选择其中一项,然后单击 - 按钮
在我的情况下,问题是由组内的目标和文件夹的相同名称引起的。
只需重命名冲突的文件或文件夹即可解决问题。
我为此找到了一个非常简单的解决方案:
从项目导航器中选择导致问题的文件 从文件检查器中取消选中目标成员资格 构建项目 再次重新检查文件的目标成员资格
警告消失了!检查此图像以供参考。
https://i.stack.imgur.com/xVTbC.png
我很确定这可能是由 XCode 4 错误引起的,至少在我遇到的情况下是这样。
如果您同时将多个语言相关文件添加到项目中,则会发生这种情况。我通过查看 git 差异发现了这一点。我在提交中什么也没做,只是添加了一些新的本地化 nib 文件。但是回顾 project.pbxproj 文件的不同之处,它显示了为之前已经在项目中的文件添加的一堆新的重复引用。它这样做的文件对我来说也是随机的。
我多次重现了同样的行为。
从项目中删除这些文件并不能解决问题,因为它只会删除原始引用并留下重复项。修复它的唯一方法是返回提交并重新开始,或者手动编辑项目文件,这是一个非常好的方法来搞砸它,因为很难判断要删除哪些重复项,你必须这样做在很多不同的地方。
Xcode 4 对我来说只是一个巨大的失望。
这是因为你的“no.png”“d.png”和“n.png”在资源中重复。只需查找删除重复的文件并删除。
当您对同一文件有多个引用时,似乎会出现该错误。我有 2 个同名文件并收到此错误。当我删除其中一个错误消失..
关于这个问题的另一个变体。我收到了同样的消息,以前建议的解决方案都没有解决问题(例如,我肯定只有一份有问题的文件)。
我的解决方案是在文本编辑器中编辑 project.pbxproj 文件(当然是在退出 XCode 并备份文件之后)并删除对有问题文件的所有引用。然后,再次启动 XCode 后,我手动将文件添加回项目中,一切正常。
(我的怀疑是这个问题发生在我身上是因为一个手册,即:非XCode,项目文件的合并。)
打开项目中的 Frameworks 文件夹,确保里面只有框架。我错误地添加了整个 Developer 文件夹!
几分钟前我遇到了同样的问题。我已经提到更改“部署目标”解决了我的问题。
对我来说,Target > Build Settings > Packaging > Product Name 设置为与我的应用程序自定义的 .plist 文件中引用的另一个值相同的值。最终由于我们的构建过程,这会创建重复的文件。
评论 use_frameworks!在 PodFile 中为我工作。
#use_frameworks!
注意:在 XCode 10.1、pod 版本 1.8.4 上执行此操作
Swift 3:(还有旧版本)当我有重复的资产时会发生这种情况。只需重命名此问题的文件,一切顺利。
当您创建 Assets.xcassets
并且您已使用新名称重命名重复项时,也可能发生这种情况,因此在一段时间后您忘记它并将其删除以添加文件夹引用但此返回到重复文件问题..
一种简单的方法是,
转到应用目标
转到构建阶段
输出文件
删除输出文件的路径,然后构建项目。它将成功运行。
关键是做pod deintegrate
和rm *.workspace
文件!真是浪费时间!
React-Native 用户。转到文件-> 工作区设置-> 构建系统-> 将其更改为旧版构建系统。现在应该可以正常运行了。 React-Native 还不兼容新的文件系统。
这也可能发生在您有多个 xcode 项目在工作区中引用同一个库的情况下,即使您构建一个依赖于单个框架的目标,workapce 也会尝试将同一个库复制到 BUILD 目录。
https://i.stack.imgur.com/B4fHK.png
就我而言,构建设置中的“产品名称”为空。因此输出变为 .app ,其名称为空,导致多个产品。设置产品名称,您就可以开始了。
虽然我确信有更好的方法,但核弹只花了我不到 60 秒的时间,而且是我能找到的唯一有效的方法。
将 repo 拖到垃圾箱。重新克隆你的回购。使用正确的远程跟踪设置您的存储库。 git remote add
不定期副业成功案例分享