【问题标题】:Command CompileAssetCatalog failed with a nonzero exit code命令 CompileAssetCatalog 失败,退出代码为非零
【发布时间】:2019-02-28 13:34:18
【问题描述】:

正在运行 Xcode 10,但似乎无法找到有关构建我的项目时发生的此错误的太多信息。

关于如何解决这个问题的任何想法?

这是错误前的最后一行:

桌面/CheerApp!/CheerApp!/Assets.xcassets 命令 CompileAssetCatalog 失败,退出代码非零 -

扩展:

编译资产目录 /Users/michaelansell/Library/Developer/Xcode/DerivedData/CheerApp!-ehbjnqaldsycfegiviymewkplqhm/Build/Products/Debug-iphonesimulator/CheerApp!.app /Users/michaelansell/Desktop/CheerApp!/CheerApp!/Assets.xcassets(在 目标:CheerApp!) cd /Users/michaelansell/Desktop/CheerApp! /Applications/Xcode.app/Contents/Developer/usr/bin/actool --output-format human-readable-text --notices --warnings --export-dependency-info /Users/michaelansell/Library/Developer/Xcode/ DerivedData/CheerApp!-ehbjnqaldsycfegiviymewkplqhm/Build/Intermediates.noindex/CheerApp!.build/Debug-iphonesimulator/CheerApp!.build/assetcatalog_dependencies --output-partial-info-plist /Users/michaelansell/Library/Developer/Xcode/DerivedData/CheerApp!-ehbjnqaldsycfegiviymewkplqhm/Build/Intermediates.noindex/CheerApp!.build/Debug-iphonesimulator/CheerApp!.build/assetcatalog_generated_info.plist --app-icon AppIcon --compress-pngs --enable-on-demand-resources 是 --优化空间 --filter-for-device-model iPhone11,2 --filter-for-device-os-version 12.0 - -sticker-pack-identifier-prefix Mike.CheerApp-.sticker-pack。 --目标设备 iphone --目标设备 ipad --minimum-deployment-target 11.4 --platform iphonesimulator --product-type com.apple.product-type.application --compile /Users/michaelansell/Library/Developer/Xcode/DerivedData/CheerApp!-ehbjnqaldsycfegiviymewkplqhm/Build/Products/Debug-iphonesimulator/

【问题讨论】:

  • 您可能需要了解有关失败原因的更多信息。这个问题提出了一种获取有关失败构建过程的更多信息的方法:stackoverflow.com/questions/30060898/…
  • 添加更多信息会有所帮助。
  • 如果你想看一下,我添加了一些信息

标签: xcode build compiler-errors


【解决方案1】:

如果您在使用 Xcode 版本 13 的 react-native 项目中遇到此问题:您需要将应用图标添加到 Assets 文件夹,而不是 Images 文件夹。

【讨论】:

    【解决方案2】:

    在构建设置中, 启用“在产品包中嵌入资产包”。 screenshot

    【讨论】:

      【解决方案3】:

      如果您没有提供 AppIcon,则会产生相同的错误。

      /* com.apple.actool.errors / :错误:没有一个输入目录包含匹配的贴纸图标集或名为“AppIcon”的应用程序图标集。 / com.apple.actool.compilation-results */

      【讨论】:

      【解决方案4】:

      我的解决方案是在 XCode 10.1 上尝试了上述许多建议的修复后,在 XCode 10.0 上运行该项目。神奇的是,它真的奏效了。

      【讨论】:

        【解决方案5】:

        我将 Xcode 从 12 降级到 10.1 以处理旧项目。我之前成功地做到了这一点,但是在从 Catalina 升级到 Big Sur 之后它就停止了工作。我收到有关 Storyboard 和 Asset 文件夹的错误:

        Command CompileAssetCatalog 因非零退出代码命令而失败

        CompileStoryboard 失败,退出代码非零

        我尝试了一切。并且只能通过删除此库来使其工作(右键单击 Xcode 10.1 应用程序图标>“显示包内容”):

        Xcode.app/Contents/Developer/usr/lib/libMainThreadChecker.dylib

        【讨论】:

          【解决方案6】:

          我的解决方案是删除 Assets.xcassets 中未使用的图像。

          为我工作。

          【讨论】:

            【解决方案7】:

            当资产目录需要很长时间编译时会出现此错误。这是我遇到的又一个案例,在大多数情况下,再次重建项目解决了这个问题。

            【讨论】:

              【解决方案8】:

              在我的资产文件夹中,我有一些图像,其中一张已损坏。 在 Assets 文件夹中加载损坏的文件也会导致此错误!

              【讨论】:

                【解决方案9】:

                尝试重新启动您的 Xcode 和 Mac。然后,清理构建项目本身(command+shift+B)。为我工作。有时,Xcode 的行为很奇怪,只需要重新启动即可。祝你好运!

                【讨论】:

                  【解决方案10】:

                  尝试删除然后重新添加您正在使用的一些文件。至少对我来说是这样。

                  这似乎是 Xcode 10.1 中的一个错误

                  【讨论】:

                  • 这仍然是 Xcode 12 中的错误吗?我遇到了同样的问题。
                  【解决方案11】:

                  对我有用的是在资产中添加一个 AppIcon。我之前删除了项目附带的那个,但重新添加它为我解决了这个问题

                  【讨论】:

                    【解决方案12】:

                    确保为您的 Xcode 版本安装了命令行工具和所有必需的组件,因为资产编译确实使用了其中一些工具,并且可能使用过时的工具,具体取决于您的设置。

                    在 Xcode 10.1 升级后,我在远程构建机器上遇到了 CompileAssetCatalog 错误 - 但它在本地单独的机器上运行。我没有在远程机器上运行 xcode,所以它没有提示安装所有最新组件,运行 xcode 并安装缺少的组件为我们解决了这个问题。

                    【讨论】:

                      【解决方案13】:

                      确保您的资产中有一个 AppIcon 文件。我有同样的错误,因为我确实删除了那个文件。

                      【讨论】:

                        【解决方案14】:

                        这应该是一个临时的解决方法, 如果你有急事, 但是通过更改模拟器构建成功。

                        【讨论】:

                          【解决方案15】:

                          我在 Xcode 11 上遇到了这个问题,直到我删除并重新安装了 Xcode。

                          【讨论】:

                            【解决方案16】:

                            转到 xcode 中的 Assets.xcassets 并解决其中的错误和警告。在此 CheerApp 资产未正确链接到 xcode 中的该资产并在各自的 1x、2x 中拖放

                            【讨论】:

                              【解决方案17】:

                              我发现与启动图像相关的相同错误。

                              我的解决方案:

                              在主项目设置中转到:

                              1. 标签:常规
                              2. 部分:应用程序图标和启动图像
                              3. 选项:启动图像源

                              移除指向资产目录的链接,并使用 CMD+SHIFT+K 清理构建文件夹。

                              瞧!

                              您可以稍后再次链接。

                              【讨论】:

                                【解决方案18】:

                                所有答案都不适合我。 我解决和发现的问题是获得更好的 Xcode,如 Xcode11 beta5 或 Xcode10.3 stable 并安装它,然后 Shift-Command-K 清理项目。

                                用新的 Xcode 版本重新编译项目解决了这个问题。

                                【讨论】:

                                  【解决方案19】:

                                  如果您在 Xcode 10.3 上遇到此问题,请从 library/Developer/Xcode 文件夹中删除文件夹 iOS DeviceSupportDerivedDataArchives,然后重新启动您的 mac。

                                  【讨论】:

                                    【解决方案20】:

                                    在我的例子中,.xcassets 文件的目标成员资格由于某种原因未被选中。我所要做的就是为我正在处理的目标重新启用它并修复了错误。

                                    【讨论】:

                                      【解决方案21】:

                                      我也遇到了同样的问题,我按照以下步骤操作:

                                      1- Remove Reference Assets.xcassets 文件夹。

                                      2- 清空(CMD+SHIFT+K 和 CMD+ALT+SHIFT+K)。

                                      3- 构建 (CMD+B)。

                                      4- 添加您的Assets.xcassets 文件夹。

                                      5- 再次执行步骤 2 和 3。

                                      【讨论】:

                                        【解决方案22】:

                                        在 Xcode 10 中转到产品>清理构建文件夹

                                        用户快捷键为 Shift+Command+K

                                        在 make run 之后它会工作,它在我的情况下工作。

                                        【讨论】:

                                          【解决方案23】:

                                          如果您更改从资产中打开的图像之一,似乎会发生这种情况。以下是一些有效的解决方案:

                                          1. 不同的模拟器上运行应用程序
                                          2. 清理(CMD+SHIFT+K 和 CMD+ALT+SHIFT+K 都有)
                                          3. 将资产重新添加到项目中
                                          4. 重启 Mac
                                          5. 笑话:重启发电厂

                                          【讨论】:

                                            【解决方案24】:

                                            您是否将资产文件夹复制到您的 Xcode 项目中?如果是这样,您可能有 2 个并且需要删除旧的。

                                            【讨论】:

                                              【解决方案25】:

                                              我在 Xcode 10 上也遇到了同样的问题。尝试了一切,但没有任何效果。只是出于好奇尝试在 Xcode 9.4 中编译我的项目,但它再次失败,但这一次它给了我一个有效的错误。在我的情况下,这是因为启动图像资产中没有图像,并且作为旧项目的项目具有启动图像而不是启动屏幕故事板。建议在可用的较低 Xcode 中尝试该项目。

                                              【讨论】:

                                                【解决方案26】:

                                                我设法通过“构建清理”、删除“DerivedData”文件夹并重新启动我的 Mac 来解决此问题。

                                                【讨论】:

                                                • 我不必重新启动计算机;我刚刚清理了 build 文件夹并删除了 Derived Data 文件夹。
                                                • DerivedData文件夹的作用是什么?
                                                • 使用 Xcode 12.2 时遇到了这个编译错误,删除 DerivedData(中间文件的缓存)就可以了。
                                                猜你喜欢
                                                • 1970-01-01
                                                • 2020-10-28
                                                • 2021-08-23
                                                • 2019-12-03
                                                • 2021-05-16
                                                • 1970-01-01
                                                • 1970-01-01
                                                • 1970-01-01
                                                • 2019-07-23
                                                相关资源
                                                最近更新 更多