Xcode 5: "无效的图像路径" CFBundleIcons

25

好的,我的问题似乎类似于这个这个,但是按照答案所说,都没有帮助到我。可能是因为我使用的是Xcode 5,在升级到这个版本之前,我没有遇到任何关于这个应用的问题。

当我验证我的应用时,我会遇到如下错误:

"Invalid Image Path - No image found at the path referenced under key 'CFBundleIcons': 'icon152'"

所以我进入Xcode中的.plist文件,右键单击Show Raw Keys/Values,然后找到CFBundleIcons

然后出现了一个树形结构,看起来像这样:

▼ CFBundleIcons                  Dictionary
    ▼ CFBundlePrimaryIcon        Dictionary
        ▼ CFBundleIconFiles      Array
             Item 0              String       icon152

现在我已经将 icon152 重命名为 icon152.png,但它仍然无法正常工作。这个值需要我的 Mac 上图像的完整路径吗?如果需要,为什么我添加图像时没有插入完整路径?我之前已经验证过应用程序,从未遇到这些问题。

我尝试将 .plist 文件中的所有图标条目删除并重新添加它们,但仍然不起作用。

我尝试从捆绑包和 Xcode 中删除图像,并完全从头重新添加它们。仍然不起作用。

有人能告诉我我做错了什么吗?

编辑:

如果还有其他人遇到此问题,请按“使用资产目录”按钮解决它 - 所有这些问题都会消失。您可以通过单击导航器中的项目,然后在常规下滚动到应用图标下找到该按钮。


问题似乎是路径上不存在图像。请将图像重新添加到特定路径。 - Hussain Shabbir
我应该使用哪条路径?是相对于应用本身的路径,还是存储在我的 Mac 上的完整路径?为什么当我添加图片时路径没有被正确地包含? - Jimmery
你是在程序中添加图片吗? - Hussain Shabbir
这个图片是应用程序本身的图标,我是通过Xcode添加的。我不知道你可以通过编程方式添加应用程序图标 - 这应该怎么做? - Jimmery
它应该在你的info.plist文件中。 - Hussain Shabbir
显示剩余2条评论
14个回答

22

我和ckoskar遇到了同样的错误,"无效的图像路径 - 在'CFBundleIcons'键下引用的路径中未找到图像:'icon120x120'"

最终,我在Images.xcassets的AppIcon部分的CarPlay部分中删除了该文件,然后就能够提交构建了。


这个可以运行,但并不是真正的解决方案,因为你忽略了苹果CarPlay图标 :( - electronix384128
这可能是苹果的一个bug,因为图像大小与iOS 7和8的iPhone应用程序图标大小为120pt的2x图标相同。值得提交一个错误报告。 - Robert Bentley
我也遇到了这个问题,删除我添加到“Carplay” Images.xcassets 的 120x120 图像就解决了。 - RickJansen
2
我也遇到了这个问题,删除我添加到“Images.xcassets”中的“Carplay”的120x120图像就解决了。我已经提交了一个错误报告,但在Xcode 6.1和6.3中仍然存在这个问题。 - RickJansen
我正在使用Xcode 6.4,仍然需要删除Carplay资源。这仍然是一个问题。 - davidethell

13

我遇到了同样的问题,使用“使用资产目录”对我有用。也许将其从资源中取出,再放回去,清理、构建,然后看看是否有效。

要找到此按钮: 项目 > 常规 > 应用程序图标和启动图像 输入图像描述


10

以下是我所采用的方法:

  1. 选择目标
  2. 进入 Build Phases(构建阶段)
  3. 展开 Copy Bundle Resources(复制捆绑资源)
  4. 滚动面板到底部并点击 + 号
  5. 添加每个缺失的资源

谢谢。我的问题是我忘记将图像文件添加到项目中了。 - kakyo

8

你可以尝试将项目中的图标删除并重新添加吗?然后尝试使用没有 .png 后缀的名称。

有时,如果你在 Finder 中修改文件,Xcode 就看不到更改。


我已经尝试从捆绑包和Xcode中删除图像,并完全从头重新添加它们。仍然不起作用,无论是.png格式还是没有.png格式都没有区别。 - Jimmery
你正在运行哪个版本的Xcode?较新的Xcode允许你从项目文件中设置图像名称,而不是编辑plist文件。你可以尝试一下。如果你正在运行Xcode 5,请查看资源目录。两者都应该可以工作,但如果第一个方法不起作用,那么值得一试。 - Enrico Susatyo
我正在运行Xcode 5.0 - 我会查看资产目录。 - Jimmery
10
我点击了“使用资源目录”按钮,所有缺失的图片问题都神奇地消失了。我不需要再做任何事情……很奇怪。无论如何,非常感谢你的帮助! - Jimmery
1
我点击了“使用资源目录”选项,它除了一个错误外,消除了所有的错误...仍然显示我缺少一个icon.png文件,但我绝对不认为我缺少这个文件,这让我非常沮丧。 - CWSpear

7
我也遇到了同样的问题,有趣的是当这个问题发生时我已经在使用asset目录。最终解决方案在这里描述:Invalid Image Path - No image found at the path. CFBundleIcons Xcode 5 基本上,您需要将图像添加到您正在构建的目标中。要做到这一点,在导航面板下的项目文件列表中选择图像,然后在右侧显示实用程序面板并在左侧的实用程序面板中检查Target Membership下的目标。

4
有时候这种情况是你单独添加文件时出现的。
确保在“目标成员资格”区域中的“生成名称”复选框已选中,位于工具面板中。
由于错误会使得复选框未被选中,因此它不会被包含在最终构建中。
通过选中此复选框,我解决了我的问题。感谢DomandoCoder!

3

我遇到了如下问题:

"无效的图像路径 - 在键“CFBundleIcons”下引用的路径中未找到任何图像:'icon120x120'"

解决方法是将图标(120x120)移动到另一个应用图标文件夹中。


2

我遇到了同样的问题。我试图上传一个免费和完整版本的应用程序。免费版本的应用程序上传成功,但是付费版本出现了问题。我选择了付费和免费版本中用作图标的所有图片,然后查看:文件检查器 -> 目标成员资格 -> 确保两者都被选中,然后问题就解决了。对我来说有效。

这是我遇到的错误: enter image description here

然后我为付费和免费版本的应用程序选择并检查了以下内容: enter image description here

enter image description here


1
我曾遇到过与有关的错误和有关120个图标的警告,其中“使用资源目录”对我很有效,我通过从项目导航窗格拖动来填补缺失的图标,但没有对做任何事情。
编辑:
我的之前的解决方法这次对我的React Native应用程序出现了相同的错误不起作用。我的有问题的图标图片导致了这个问题。我在预览中打开了其中一个图标并选择了整个图像区域,然后从剪贴板创建了新的图像。我用这些新创建的图像替换了所有旧的图像,上传成功了。

1
我的问题得到了解决,方法是检查出现问题的图标并在预览中打开并重新导出为png格式。
在XCode中没有进行任何更改,只是重新导出了这些图像。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接