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'

在Xcode 9中运行代码正常,但在Xcode 10中有一个错误。


当前回答

我的问题是在Mojave中运行Xcode 10,并且在尝试运行我在更新到Xcode 10之前编写的单元测试时。

在我的例子中,我在运行TestTarget目标时遇到了这个问题。为了解决这个问题,我必须:

删除一个目标依赖项(在TestTarget >构建阶段>目标依赖项中)

因为除了我的TestTarget,我还有另外两个目标,它们都在运行相同的脚本,并在某个点上创建/复制文件。

这与Xcode 10 Build System Release Notes中提到的内容相冲突:

对于由多个构建命令生成的构建中的任何单个文件,都是错误。例如,如果两个目标各自从shell脚本阶段声明相同的输出文件,则将输出文件的声明分解到单个目标中。

新的更新后,我更新Xcode 10.1到10.2

我更新到Xcode 10.2后又出现了类似的问题。我有多个目标在通过项目:Target1和Target2,我解决了这个问题:

导航到编辑方案>构建和 从构建的目标中移除一个:取消Test下Target1的复选框,因为我知道Target2导入了Target1

还要注意的是,Target2的复选框在Test下保持选中状态

其他回答

这个答案已经弃用了——Xcode 12已经弃用了遗留构建系统,它将在进一步的版本中被移除

我找到了这个构建错误的解决方案,对于其他人有同样的问题与Xcode 10构建系统,遵循以下步骤来修复它:

在Xcode中,进入File->项目/工作区设置。 将构建系统更改为遗留构建系统。

它将解决新的Xcode 10的构建问题。

如果你想使用新的构建系统,那么你可以从这个apple Xcode帮助页找到故障排除帮助。

在我的例子中,我从另一个项目导入了文件,并且在两个位置有相同的类。

我有以下相关的错误信息:

当我复制错误时,它原来复制了更多的文本信息,当我阅读转储时,我来到了相关行:

:0:错误:文件名“EventNode.swift”使用两次:

然后是位置,让我消除了问题。

在这个过程中,我发现了什么需要在“复制捆绑资源”:

Main.storyboard Assets.xcassets 任何SpriteKit场景(.sks)你的项目使用

评论use_frameworks !PodFile对我很有用。

#use_frameworks!

注意:这是在XCode 10.1, pod version 1.8.4上做的

进入Xcode -> File ->Workspace Settings。 你会发现一个突然出现的。

从Build System标签中选择“Legacy Build System”。 按“完成”

注意:-确保用“cmd+shift+alt+k”和“Derived Data”清除你的项目

建立你的项目,它将工作的魅力:)

解决我的问题的一个选择是将构建系统更改为遗留构建系统。请在Xcode 10+中遵循以下步骤。

在这里,我写了一篇关于这个问题及其解决方案的详细文章。Xcode错误:生成多个命令