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


当前回答

在我的例子中,我有我的GoogleService-info。Plist文件多次复制,因为它包括在我的主要应用程序和共享扩展项目。

解决方案是将该文件从扩展项目中排除(通过在其file Inspector侧窗口视图中的Target中取消选中该文件);因为我不喜欢切换到遗留构建系统的选项(这也适用于我)。

其他回答

在创建框架时也会遇到此错误。

在你的框架项目中,如果你有应用目标,并且在部署信息部分为每个应用目标设置了不同的iOS版本,那么进行pod安装将为相同的pod创建一个带有iOS版本后缀的新目标。

您可以通过转到pods目标来检查这一点。如果你看到重复,那就是你的问题。Xcode get因此感到困惑,并抛出一个这样的错误。

Multiple commands produce '/Users/userName/Library/Developer/Xcode/DerivedData/ProjectName-fbeqffupediuiedlrplqjyhgyqna/Build/Products/Production-iphoneos/XCFrameworkIntermediates/SomePodFramework':
1) That command depends on command in Target 'SomePodFramework-iOS10.0' (project 'Pods'): script phase “[CP] Copy XCFrameworks”
2) That command depends on command in Target 'SomePodFramework-iOS13.0' (project 'Pods'): script phase “[CP] Copy XCFrameworks”

以下是你需要做的。

将所有目标的部署信息下的最小ios版本设置为相同。这将确保当你安装pod时,cocoapods不会根据多个ios版本创建同一个pod的新目标。 关闭你的工作空间。删除xcworkspace, Podfile。锁和Pods文件夹。 运行pod install。

现在,当您打开工作区时,您可以再次检查pod目标。你会发现没有重复。

现在只需更改所有目标的部署信息。

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

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

我的情况与Damo类似——一些产品被添加到Pods项目两次。我的Podfile的结构是:

# platform :ios, '11.0' 

def shared_pods
  use_frameworks!
  pod 'SharedPod1'
end

target 'Target1' do
  pod 'SomePod1'
  shared_pods
end

target 'Target2' do
  shared_pods
end

所有共享舱都被添加了两次。取消注释的第一行,然后pod安装解决了这个问题。

没有遗留构建系统 如果你有这样的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

嗯,就我而言:

如果创建了两个同名的文件,将触发此错误。 删除您最近添加的一个,将解决这个问题。

希望这能有所帮助。