Xcode 10错误:“ app”和“ appex”产生多个命令

时间:2018-09-18 08:54:42

标签: ios xcode10

我遇到了最近讨论的“ Xcode 10错误:多个命令产生...”错误,但是出现了我项目的结果app和appex文件。有谁知道这意味着什么。我的项目有一个应用程序和两个扩展(只有一个是错误的一部分)。

Showing Recent Messages

Prepare build
note: Using new build systemnote: Planning buildnote: Constructing build description

Build system information
error: Multiple commands produce '/Users/xxx/Library/Developer/Xcode/DerivedData/MyApp-enqofdpadskdcgemmhrzsxahnjet/Build/Products/Debug-iphoneos/MyApp Dev.app':
1) Target 'MyApp Dev' has create directory command with output '/Users/xxx/Library/Developer/Xcode/DerivedData/MyApp-enqofdpadskdcgemmhrzsxahnjet/Build/Products/Debug-iphoneos/MyApp Dev.app'
2) That command depends on command in Target 'MyApp Dev': script phase “[CP] Copy Pods Resources”

Build system information
error: Multiple commands produce '/Users/xxx/Library/Developer/Xcode/DerivedData/MyApp-enqofdpadskdcgemmhrzsxahnjet/Build/Products/Debug-iphoneos/MyApp Dev Share Extension.appex':
1) Target 'MyApp Dev Share Extension' has create directory command with output '/Users/xxx/Library/Developer/Xcode/DerivedData/MyApp-enqofdpadskdcgemmhrzsxahnjet/Build/Products/Debug-iphoneos/MyApp Dev Share Extension.appex'
2) That command depends on command in Target 'MyApp Dev Share Extension': script phase “[CP] Copy Pods Resources”

Build system information
warning: ignoring duplicated output file: '/Users/xxx/Library/Developer/Xcode/DerivedData/MyApp-enqofdpadskdcgemmhrzsxahnjet/Build/Products/Debug-iphoneos/MyApp Dev.app' (in target 'MyApp Dev')
Build system information
warning: ignoring duplicated output file: '/Users/xxx/Library/Developer/Xcode/DerivedData/MyApp-enqofdpadskdcgemmhrzsxahnjet/Build/Products/Debug-iphoneos/MyApp Dev Share Extension.appex' (in target 'MyApp Dev Share Extension')

Build failed    18.09.18, 10:28    4.5 seconds

我知道我可以回到旧的构建系统,但是我更喜欢使用新的更快的构建系统。谢谢您的帮助。

13 个答案:

答案 0 :(得分:25)

通过将Cocoapods从1.4.0更新到1.5.3解决了我的问题

答案 1 :(得分:20)

如果在更新cocoapods和重新安装吊舱后仍然有人在为此苦苦挣扎:

  1. 目标的打开构建阶段会给您带来麻烦
  2. “打开复制Pod资源”阶段。
  3. 确保输出文件为空。就我而言,我有一个奇怪的条目#"[Previous Step Name Here]"。我将其删除,构建成功

答案 2 :(得分:11)

我的Cocoapod版本已经是1.5.3(最新)。 只需运行“ pod install”(或者如果您不想更新现有的pod,则运行“ pod install --no-repo-update”)对我来说就解决了。

答案 3 :(得分:11)

我能够通过在Xcode 10中打开Runner工作区项目来对其进行修复,然后导航至“文件”,“工作区设置”并将构建系统更改为“旧版构建系统”。

image shows where it's changed

答案 4 :(得分:6)

我的解决方法:

  1. 检查您的广告连播版本pod --version。 通过运行sudo gem install cocoapods

  2. 将Coacoapods更新到最新版本-v1.5.3(如果不是)
  3. 通过运行pod update

  4. 更新所有pod
  5. info.plist中删除重复的Target>Build Phases>Copy Bundle Resources文件。

答案 5 :(得分:4)

从我这里来工作:

  • 更新可可足类
  • 删除pod文件(不要忘记将内容复制到其他位置,因此可以将其还原
  • 删除工作区项目文件
  • 删除锁定Pod文件
  • 删除pod目录
  • 关闭Xcode
  • 初始化窗格
  • 安装吊舱
  • 打开工作区项目。

答案 6 :(得分:1)

您可能已经遇到了此CocoaPods issue引起的Xcode issue

reply可能会对您有所帮助,建议您在Podfile中显式指定子规范。

例如,使用pod 'SDWebImage/Core'代替pod 'SDWebImage'

显然,这会导致构建产品路径始终包含子规范名称,这可能会解决问题。

答案 7 :(得分:1)

在“共享工作区设置”中将“构建系统”设置为“旧版构建系统”,您可以在“文件->工作区设置”中找到

答案 8 :(得分:0)

就我而言,App Target的Copy Bundle Resources中存在重复的引用。 我刚刚删除了其中一个,它就起作用了。

答案 9 :(得分:0)

如果通过更新可可豆没有解决您的错误,则只需创建新项目,但更改文件夹位置即可。您不会收到此错误。

答案 10 :(得分:0)

关键是要制作pod deintegraterm *.workspace文件!

答案 11 :(得分:0)

我有这样的问题。 。 。对我有用的解决方案是 转到您的项目目标,然后在“复制捆绑资源”下删除文件的重复引用。 希望这会有所帮助!

答案 12 :(得分:0)

引起“多个命令产生”错误的可能问题之一可能是模块名称冲突的多个目标。就我而言,我有一个主应用程序目标和一个通知服务扩展目标,它们具有相同的项目模块名称,因此Xcode试图创建两个ModuleName.swiftmodule文件,两个ModuleName.swiftdoc文件等。更改通知服务扩展模块名称解决了该问题。