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


当前回答

我在用Core Data做实验。我为一个简单的检查表程序构建了一个数据模型,并生成了NSManagedObjects。当我编译项目时,我得到了以下错误:

error: Multiple commands produce '/Users/myUSerName/Library/Developer/Xcode/DerivedData/myCoreDateExperiment-gzbslaqdwglkzxemijpdqmizgyzc/Build/Intermediates.noindex/ myCoreDateExperiment /Debug-iphonesimulator/ myCoreDateExperiment.build/Objects-normal/x86_64/CheckListItem+CoreDataProperties.o':
1) Target ' myCoreDateExperiment ' (project ' myCoreDateExperiment ') has compile command for Swift source files
2) Target ' myCoreDateExperiment ' (project ' myCoreDateExperiment ') has compile command for Swift source files

问题在于数据模型(核对表)。xcdatamodeld(在我的例子中)在“编译源”列表中。当我从列表中删除该项目时,该项目编译干净。

打开项目导航器并选择项目(顶部的第一个条目) 在“项目和目标”窗格中的目标下选择您的构建目标 选择顶部附近的Build Phases选项 展开“Compile Sources”条目并查找数据模型名称。如果找不到,可以搜索“xcdatamodeld”。 从编译列表中删除模型 确保数据模型包含在“Copy Bundle Resources”列表中。如果缺少,请添加。

EDIT

@WilliamT。在评论中解释,您需要在编译列表中使用xcdatamodeld。相反,转到xcdatamodeld文件中的实体。选择出错的模型,展开左侧面板,并将“Codegen”字段更改为“Manual/None”。

其他回答

没有遗留构建系统 如果你有这样的Podfile

def shared_pods
  pod 'X'
end

target 'A' do
  shared_pods
end

target 'B' do
  shared_pods
end

B也依赖于A然后像这样把B移到A

 target 'A' do

   shared_pods

   target 'B' do
     inherit! :search_paths
   end
 end

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

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

在xcode中删除“Copy Bundle Resources”字体后,错误消失

对于那些使用React Native和Cocoapods的用户

这个问题是由一些libRN出版的…一个文件。我通过删除其中一些像libRNScreens来修复它。a和libRNGestureHandler。链接二进制文件与库,因为它们已经被其他库引用。其他的则必须被他们的Pod版本如librndeviceinfo所取代。

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

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