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下保持选中状态

其他回答

解决方案一: 打开目标➼构建阶段➼复制Bundle资源➼删除信息。请从那里开始。➼你必须从扩展中删除plist(如果有的话)。

解决方案2: 如果你使用CocoaPods,你可能想要尝试分解pod并重新安装。 命令:

1) pod deintegrate
2) pod install

解决方案3: 在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的链接,重新构建项目,但是没有图标。

在向应用程序添加了Fabric sdk套件的第二部分后,我遇到了这个问题。

实际发生的是GoogleUtilies框架被添加到Pods项目两次

这在Xcode 10之前是没问题的,但是如果一个文件有两个操作(在这种情况下是一个复制操作),Xcode 10就会报错。

去掉第二个框架是安全的。

对我来说,它只是拥有两个同名的文件。

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