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


当前回答

如果你是通过Ditto命令创建同名的多个实例(而不是“复制文件”构建阶段)得到这个,你可能必须改变产品模块名称。

点击Xcode抱怨的目标 点击构建设置 搜索“产品模块名称” 将名称更改为唯一的名称

在我们的应用中,我们有一个观察目标和一些通知目标,所以我把Extension之类的东西放在模块名的末尾。

我最初在这里找到了这个解决方案:https://forums.developer.apple.com/thread/103913

其他回答

在检查构建日志时,我注意到一个警告:

note: Using new build system
note: Planning build
note: Constructing build description
Build system information
warning: The Copy Bundle Resources build phase contains this target's Info.plist file '/Users/<redacted>/Repositories/Whitesmith/optimize-ios/Carthage/Checkouts/WSStatusBarNotification/Miscellaneous/Info.plist'. (in target 'JDStatusBarNotification')

如果这是你的情况,那就去你的目标:

构建阶段 拷贝包资源 删除info.plist。

在我的例子中,清理被剥夺的数据和构建设置(按此顺序),重新启动Xcode和模拟器有帮助。

我试图做解决方案->开放目标->构建阶段>复制捆绑资源,但它再次出现在那里。清理被剥夺的数据有帮助。在错误中,它显示了副本的位置,在我的情况下,它说它在我的应用程序包和被剥夺的数据中。

这里也一样,但这是2020年5月的最新解决方案

它看起来像一个bug或一些新的Xcode版本的新问题。

错误响应为:

创建iOS项目失败。我们运行“xcodebuild”命令,但它退出了错误代码65。

详细的回应:

构建系统信息 错误:多个命令产生'/path/of/the/project/ios/build/NameOfTheProject/ build/ Products/ debug - iphoneonessimulator /NameOfTheProject.app/ zcial .ttf':

1)目标'NameOfTheProject'(项目'NameOfTheProject')有从'/path/of/the/project/NameOfTheProject/node_modules/react-native-vector-icons/Fonts/ zcial .ttf'复制命令到'/path/of/the/project/NameOfTheProject/ios/build/NameOfTheProject/ build/ Products/Debug-iphonesimulator/ namoftheproject .app/ zcial .ttf'

2)该命令取决于目标“项目名称”(项目“项目名称”)中的命令:脚本阶段“[CP]复制Pods资源”

构建系统信息 错误:多个命令产生'/path/of/the/project/ios/build/NameOfTheProject/ build/ Products/ debug - iphoneonesemulator /NameOfTheProject.app/SimpleLineIcons.ttf':

1)目标'NameOfTheProject'(项目'NameOfTheProject')有复制命令从'/path/of/the/project/NameOfTheProject/node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf'到'/path/of/the/project/NameOfTheProject/ios/build/NameOfTheProject/ build/ Products/ debug -iphone emulator /NameOfTheProject.app/SimpleLineIcons.ttf'

2)该命令取决于目标“项目名称”(项目“项目名称”)中的命令:脚本阶段“[CP]复制Pods资源”

...

对于库使用的每个.ttf文件重复该响应。

我不得不临时取消react-native的链接,重新构建项目,但是没有图标。

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

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

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

对于那些依赖名称相同的Swift头导入的人。(例如:头文件名称:#import "MyApp-Swift.h"):

这个头文件的名称实际上是由${SWIFT_MODULE_NAME}-Swift.h决定的,其中SWIFT_MODULE_NAME使用PRODUCT_MODULE_NAME作为默认值。

此外,还有一个项目范围内的构建设置,名为:SWIFT_OBJC_INTERFACE_HEADER_NAME“Objective-C生成的接口头名称”,它的默认值是${SWIFT_MODULE_NAME}-Swift.h。通过将这个值更改为MyApp-Swift.h,我们聚合构建中的所有目标都能够共享相同的头名称,并且我们能够从它们中更改PRODUCT_MODULE_NAMEvalue。