【问题标题】:Xcode 10 Error: Multiple commands produce for 'app' and 'appex'Xcode 10 错误:为“app”和“appex”生成多个命令
【发布时间】:2019-02-22 06:13:30
【问题描述】:

我收到了最近讨论的“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

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

【问题讨论】:

  • 请检查这个...check
  • 谢谢,但这没有帮助,我已经安装了 Cocoapods。
  • 签入Project -> Build Phases -> Copy Bundle Resources 有同名文件。只需删除重复文件即可。
  • 我找到了解决方案:我错过了将 Cocoapods 从 1.4.0 更新到 1.5.3 - 更新 Cocoapods 后问题消失了。再次感谢,您给了我正确方向的提示。
  • 对于那些不使用 CocoaPods 的人有什么解决方案吗?

标签: ios xcode10


【解决方案1】:

我的问题比较独特。

我有一个单元测试目标,其中有一个主机应用程序作为“Target1” 我有一个单独的 ui 测试目标,它有一个主机应用程序作为“Target2”

我还让 Target2 能够使用我的两个测试目标进行测试。

解决方案是从 Target2 测试中删除单元测试目标(在编辑方案中)。

我也可以让我的两个测试目标使用相同的主机应用程序(我会这样做)

【讨论】:

    【解决方案2】:

    导致“多个命令产生”错误的可能问题之一可能是多个目标具有冲突的模块名称。在我的例子中,我有一个主应用程序目标和一个具有相同产品模块名称的通知服务扩展目标,因此 Xcode 试图创建两个 ModuleName.swiftmodule 文件、两个 ModuleName.swiftdoc 文件等。更改通知服务扩展模块名称解决了这个问题。

    【讨论】:

    • 我认为这更像是一个建议,而不是回答
    • 正是我的问题。更多相关信息:stackoverflow.com/questions/45289802/…
    • 是的,我使 AppClip Product_Name 与 Main Target Product_Name 相同。
    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      关键是做pod deintegraterm *.workspace文件!

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          【解决方案6】:

          如果您的错误没有通过更新可可豆荚消失,那么只需创建新项目但更改文件夹位置。你不会得到这个错误。

          【讨论】:

            【解决方案7】:

            你可能遇到了这个CocoaPods issue,这是由这个Xcode issue引起的

            这个reply 可能会对您有所帮助,它建议在您的 Podfile 中明确指定子规范。

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

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

            【讨论】:

              【解决方案8】:

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

              【讨论】:

                【解决方案9】:

                我可以通过在 Xcode 10 中打开 Runner 工作区项目来修复它。然后导航到 File、Workspace Settings 并将构建系统更改为 Legacy Build System。

                【讨论】:

                • 这行得通,但我更喜欢使用新的更快的构建系统而不是旧的懒惰的系统。
                • 有什么解决方案可以让它与新的构建系统一起工作吗?
                【解决方案10】:

                如果有人在更新 cocoapods 并重新安装 pods 后仍然遇到这个问题:

                1. 打开给您带来问题的目标的构建阶段
                2. 打开 Copy Pods 资源阶段。
                3. 确保输出文件为空。就我而言,我有一个奇怪的条目${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}。我删除了它,构建成功

                【讨论】:

                • 谢谢。这个解决方案对我有用。每次我安装 pod 时,我都必须清除输出才能成功构建。
                • 这是最好的答案
                【解决方案11】:

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

                【讨论】:

                  【解决方案12】:

                  我的解决方法:

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

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

                  4. Target>Build Phases>Copy Bundle Resources 中删除重复的info.plist 文件(如果有)。

                  【讨论】:

                    【解决方案13】:

                    我的作品:

                    • 更新 Cocoapods
                    • 删除 pod 文件(不要忘记将内容复制到其他地方,以便恢复它
                    • 删除工作区项目文件
                    • 删除锁定 pod 文件
                    • 删除 pod 目录
                    • 关闭 Xcode
                    • 初始化吊舱
                    • 安装吊舱
                    • 打开工作区项目。

                    【讨论】:

                    • 感谢您的解决,以上方法我都试过了,您的回答解决了我的问题,非常感谢。
                    【解决方案14】:

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

                    【讨论】:

                    • 为我工作!我更新了 cocoapods,然后在项目文件夹中更新了 pod
                    • 您为什么还没有接受自己的答案?似乎对大多数遇到这种情况的人都有效。 ;)
                    • @Bocaxica 只是忘记了它。感谢您的提醒。
                    • 我做到了,但只是这个stackoverflow.com/a/52451421/2238515 为我解决了
                    猜你喜欢
                    • 1970-01-01
                    • 2018-11-15
                    • 2018-12-06
                    • 1970-01-01
                    • 2019-02-26
                    • 2019-02-24
                    • 1970-01-01
                    • 2019-12-17
                    • 1970-01-01
                    相关资源
                    最近更新 更多