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中有一个错误。
在我的例子中,我从另一个项目导入了文件,并且在两个位置有相同的类。
我有以下相关的错误信息:
当我复制错误时,它原来复制了更多的文本信息,当我阅读转储时,我来到了相关行:
:0:错误:文件名“EventNode.swift”使用两次:
然后是位置,让我消除了问题。
在这个过程中,我发现了什么需要在“复制捆绑资源”:
Main.storyboard
Assets.xcassets
任何SpriteKit场景(.sks)你的项目使用
我的问题是在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下保持选中状态
对于没有找到正确答案的同学因为这和info。plist没有关系。
我在开发一个macOS应用程序时遇到了这个问题,没有CocoaPods或Carthage,只有SPM包,手动将xcodeprojects拖到workplace。
当我只使用一个依赖时(它从内部使用Swift-NIO),一切都没问题,但当我添加一个又一个带有重叠子deps的依赖时,我遇到了这个讨厌的问题。
解决方案是尝试分别编译所有主要的依赖项(这将失败,因为在各自的.build文件夹中不存在签出文件夹,这很可能是因为您将pkg置于编辑模式(swift包编辑YourPkg…)
您只需取消编辑pkgs,并强制所有依赖项成功编译。之后,你必须确保你的主目标内的链接二进制文件没有重叠(我不确定这是否真的有必要,但以防万一)。
之后,一切都应该工作得很好:)