【问题标题】:Xcode error : Distill failed for unknown reasonsXcode 错误:由于未知原因蒸馏失败
【发布时间】:2014-01-02 01:49:05
【问题描述】:

有人知道为什么 Xcode 5 会出现这个错误吗?

回答

当我不小心将 .psd 重命名为 .png 时,我遇到了这个问题。将图像转换为实际的 png 而不是 Photoshop 文件为我修复了它。

【问题讨论】:

  • 我做了同样的事情。谢谢!
  • 我也这样做了!谢谢哈利,我肯定会花很多时间弄清楚。
  • 只有在存档时才会出现这种情况吗?为我做了。构建和运行工作正常,但我只是在尝试存档时遇到了这个问题。
  • 您可以查看您的日志文件,找到失败的文件,这是解决问题的最快方法,您会看到如下错误:CoreThemeDefinition: Unable to create image for file: ///.../imageset/attach_voice_down.png /* com.apple.actool.errors */
  • 使用 Git LFS 遇到了类似的问题

标签: ios iphone xcode ios7 xcode5


【解决方案1】:

我遇到了同样的错误,这是因为我忘记了初始化 Git LFS。所以不会拉取png文件

【讨论】:

    【解决方案2】:

    在我的情况下,Assets.xcassets 中有一个无效的 png 图像。

    【讨论】:

      【解决方案3】:

      如果遇到此错误,作为一种解决方法,请尝试从占位符中删除 Images.xcassets 中的所有图像,然后重新构建项目。假设项目在没有任何图像的情况下构建,对我来说就是这种情况,开始一一重新添加图像,从底部开始(App Store、iPad 等)在每次添加后构建项目。这将帮助您隔离导致错误的占位符。

      在我的情况下:cocos2d-x项目附带的一组图标,问题似乎不在于特定的图像,而是放置在占位符上。特别是,它似乎给出了一个错误所有名称中包含“iPhone”的占位符。我可以在填充所有非 iPhone 占位符的情况下成功构建项目,但是一旦我将图像从 iPad 占位符移动到兼容的 iPhone 占位符(例如 iPad 通知 20pt@2x 到 iPhone 通知 20pt@2x),项目就会失败并出现上面提到的错误。

      我正在使用最新的(截至目前)MacOS Catalina 10.15 Beta (19A487l) 和最新的 Xcode 11.3.1 (11C504),但我仍然遇到此错误,因此建议更新到最新版本不一定有效。两种情况下的命令行都是:

      /Applications/Xcode.app/Contents/Developer/usr/bin/actool --output-format human-readable-text --notices --warnings --export-dependency-info /Users/me/Library/Developer /Xcode/DerivedData/MyProject-eiofgcnvwliyntcmqdepcocwffyk/Build/Intermediates.noindex/MyProject.build/Debug-iphoneos/MyProject-mobile.build/assetcatalog_dependencies --output-partial-info-plist /Users/me/Library/Developer/Xcode/ DerivedData/MyProject-eiofgcnvwliyntcmqdepcocwffyk/Build/Intermediates.noindex/MyProject.build/Debug-iphoneos/MyProject-mobile.build/assetcatalog_generated_info.plist --app-icon AppIcon --enable-on-demand-resources 是 --filter-for -device-model iPhone10,6 --filter-for-device-os-version 13.3.1 --sticker-pack-identifier-prefix com.example.app.ios.sticker-pack。 --development-region 英文 --target-device iphone --target-device ipad --minimum-deployment-target 12.1 --platform iphoneos --product-type com.apple.product-type.application --compile /Users/ me/Library/Developer/Xcode/DerivedData/MyProject-eiofgcnvwliyntcmqdepcocwffyk/Build/Products/Debug-iphoneos/MyProject-mobile.app /Users/me/Projects/Cocos/MyProject/proj.ios_mac/ios/Images.xcassets

      【讨论】:

        【解决方案4】:

        就我而言,我只是忘记为我的 repo 初始化 Git LFS。

        【讨论】:

          【解决方案5】:

          我在 Xcode_11.1 上遇到了这个错误,完全浪费了我的整个星期。然后我意识到这是 Xcode 本身的错误,我尝试了上述许多答案,但没有运气。

          为了确保它是 Xcode 错误,只需清空资产文件夹,如果仍然存在错误,则尝试使用空文件夹构建然后降级或升级到另一个版本,我的工作版本是 Xcode_10.2.1

          希望对你有帮助

          【讨论】:

            【解决方案6】:

            我的图片名称包含“ç”或以“é”结尾导致了问题。重修它并清理项目就成功了! 奇怪的是,这个命名在 xcode 10 上有效,但在 11.1 上不再有效

            【讨论】:

              【解决方案7】:

              在这方面投入了 6 到 7 个小时后,我在 MacOS Mojave - 10.14.6(18G103) 上检查了相同的项目,它运行良好,但在 MacOS Catalina Beta 版上却无法运行。经过调查,我将 MacOS 更新到了最新的 Catalina Beta 版本,并且运行良好。

              【讨论】:

              • 如果您提供一些有关如何更新最新 xcode 的更具体信息将会很有帮助。您在哪两个版本之间进行了更新?
              【解决方案8】:

              Xcode 11:我刚刚删除了 Assets.xcassets 并重新添加到目标,它工作正常。

              【讨论】:

                【解决方案9】:

                在我的例子中,它是一个保存为 PNG 的 PSD 文件。您可以通过在终端中的资产目录中运行以下命令来搜索错误的文件:

                grep -rL "PNG" --include \*.png . 
                

                【讨论】:

                  【解决方案10】:

                  更新或确保最低版本为: Mac OS CATALINA BETA 10.15 beta (19A536g) 和 Xcode 版本 11.0 beta 5 (11M382q)

                  在与 苹果工程师交谈后,通过更新 MAC OS 和 Xcode 解决了问题,特别是这些版本,我保证问题已经解决。

                  【讨论】:

                  • 感谢您的回复。在 10.15 beta 19A471t 和 xcode 11.3.1 11C505 上存在错误。只需将一个 png 图标添加到它的构建失败的资产。
                  【解决方案11】:

                  对我来说,我使用的是 Xcode 测试版,但我没有按照 Apple 的建议将我的 MAC OSX 测试版升级到最新版本。

                  .

                  【讨论】:

                    【解决方案12】:

                    对我来说,解决方案是执行以下操作(假设我没有 .psd 作为 .png 等)。

                    转到Xcode项目设置中TargetGeneral选项卡, 向下滚动到“App Icons and Launch Images”部分,然后更改 “App Icons Source”的值从“AppIcon”到“Don't use 资产目录"

                    注意:通过这种方式项目在 iOS 上构建和部署,稍后您可以更改 AppIcon 设置,添加您的自定义 AppIcon(具有正确的文件格式和文件扩展名)。

                    【讨论】:

                      【解决方案13】:

                      xcode 7.3 发生在我身上 当我在文件夹中替换具有相同名称的插入和图像时(在查找器屏幕中)

                      所以我只是重命名删除图像表单资产 并以不同的名称插入增益 clean + build 效果很好

                      【讨论】:

                        【解决方案14】:

                        我和 Karsten 有同样的情况,其中一张图片是 psd。我在 Mac Preview 应用中打开文件并尝试导出,发现它是 PSD 而不是 .png

                        【讨论】:

                          【解决方案15】:

                          就我而言,其中一个图像资产已损坏并导致此问题。

                          损坏的图像通常大小为 0(零)。所以,我们可以使用终端来找出是哪一个:

                          找到 ./your_directory_path -size 0 -print

                          【讨论】:

                            【解决方案16】:

                            我发现我的 png 是一个 psd 文件。我删除了文件并重新创建了一个新的 png,一切都很好。

                            grgr

                            【讨论】:

                            • 这里一样,扩展名是'png',但我不小心将文件保存为psd类型。 Shame Xcode 无法识别存在问题的特定文件,需要反复试验才能缩小范围。
                            • 重要提示:Preview 和 Xcode 会将您的假 PNG 视为普通 PNG。我的一个 tvOS 应用程序图标层恰好是一个伪装成 PNG 的 PSD,而且追踪起来比我想象的要困难得多。因此,在测试您的 PNG 资源时,您必须尝试在 Photoshop 中打开它们,而不仅仅是在预览中。您的应用程序将构建并且 UIImage 将与您名为 *.png JUST FINE 的 PSD 一起使用。我真的希望它不会。
                            • @Harry 不知道你的意思是什么。它仍然帮助了其他人(包括我)
                            • 刚到一个项目,迁移到 xcode 8,得到这个错误,并查看了 xcasset 文件中存在的 100 x 3 资产......真是美好的一天。
                            • 在终端中,您可以通过file filename.png 来检查类型。我还在*.xcassets目录的根目录下使用file */*查看了组内的所有文件。
                            【解决方案17】:

                            我被提示这个错误,我检查错误日志。

                            PrefixIcons.xcassets/PrefixButtonBackground.imageset/PrefixButtonBackground.png
                            /* com.apple.actool.errors */
                            : error: Distill failed for unknown reasons.
                            

                            原因是。

                            我错误地为上面给定的图像添加了 1x 和 2x 尺寸的相同图像。

                            可能对某人有帮助。

                            【讨论】:

                              【解决方案18】:

                              您可能已从普通项目迁移到使用 image.catalog。因此,您绝对可以尝试复制捆绑资源,例如启动图像。之所以如此,是因为迁移到图标和启动图像的资产目录显然并不总是自动将自身添加到目标中。

                              您可以在此herehere 上找到更多信息。

                              希望对你有帮助。

                              【讨论】:

                              • 为将来的读者澄清:第二个链接指出您可能将图像保存为错误的格式(在我的情况下:保存扩展名为 .PNG 的 PSD 文件)。
                              • 为我省了很多麻烦。也为第二个链接点赞。谢谢!
                              • 我的所有图片都保存在 png 中...我仍然在 Xcode11GM-seed1 中遇到错误
                              • 什么是image.catalog
                              猜你喜欢
                              • 1970-01-01
                              • 2020-10-24
                              • 1970-01-01
                              • 2014-11-23
                              • 2020-03-27
                              • 1970-01-01
                              • 2014-03-29
                              • 1970-01-01
                              • 2017-04-09
                              相关资源
                              最近更新 更多