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中有一个错误。


当前回答

在我的情况下,我有关于信息的错误。Plist复制输出文件:

warning: duplicate output file


/Users/mahdifaraji/Desktop/boilerplate/ios/boilerplate.xcodeproj: warning: The Copy Bundle Resources build phase contains this target's Info.plist file '/Users/mahdifaraji/Desktop/boilerplate/ios/boilerplate/Info.plist'. (in target 'boilerplate' from project 'boilerplate')
warning: duplicate output file '/Users/mahdifaraji/Library/Developer/Xcode/DerivedData/boilerplate-fpkyeiljiiuxbidceadasmpsntah/Build/Products/Debug-iphonesimulator/boilerplate.app/Info.plist' on task: ProcessInfoPlistFile /Users/mahdifaraji/Library/Developer/Xcode/DerivedData/boilerplate-fpkyeiljiiuxbidceadasmpsntah/Build/Products/Debug-iphonesimulator/boilerplate.app/Info.plist /Users/mahdifaraji/Desktop/boilerplate/ios/boilerplate/Info.plist (in target 'boilerplate' from project 'boilerplate')

** BUILD FAILED **

我解决了这个问题,从项目->目标->建筑阶段->复制捆绑资源

其他回答

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

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

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

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

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

Product Name的重复也可能导致同样的问题,特别是当您在单个工作空间中创建多个扩展目标时。

确保你也检查产品模块名称根据@Lirik的答案。

检查您支持的平台!

我们花了几个月的时间来研究这个问题。我们发现AVAILABLE_PLATFORMS被设置为“appletvos appletvsimulator iphoneos iphoneonesemulator macosx watchos watchsimulator”,这将导致构建多个平台,这将导致“多个命令产生错误”。例如,“Foo”平台正在为iOS和TVOS构建,因此多个构建命令正在创建一个Foo.framework文件。

我们一出发就去

AVAILABLE_PLATFORMS = iphoneos iphonesimulator

在我们的根xcconfig文件中,这个问题在所有子项目中都消失了。

检查您的配置

Run

xcodebuild -project FitbitMobile.xcodeproj -target "FitbitMobile" -showBuildSettings > BuildSettings.txt

查看输出是否被设置为您所期望的值。如果你是一款iOS应用,并且你正在为tvOS开发,你将需要更新你的配置。

我有同样的问题,我有一个更多的帮助应用程序在主应用程序和复制这个资源。在我的情况下解决为:-

1)目标-> 2)构建阶段2)复制文件(n项)3)删除复制文件。

Helper应用自动复制到Xcode 10.0中。

在我的情况下,我有一个修改手表项目的应用程序和扩展都有一个信息。plist文件(都以相同的名字命名),为了解决这个问题,我重新命名了ios应用程序的文件,我把它作为信息。我将手表命名为watch_info。等等 之后,我在包装信息下修改了“项目->目标->构建设置”。Pilst并相应地修改了plist文件名,这为我解决了它

注意,我在其他地方看到在项目/工作区设置下将构建系统从新的更改为遗留的,尽管它有效-我不建议这样做,因为它会导致其他问题。