无效的图像路径 - 在键 "CFBundleIconFile" : 图标下引用的路径中找不到图像.png



我在将应用程序上传到App Store时从应用程序加载程序收到此错误。我的应用程序是在 iOS 3.0 时开发的,并且仍然面向 iOS 4.3 及更高版本。我最近更新了该应用程序,使其与iOS7兼容。但是应用程序加载程序总是向我返回这种类型的错误。我在网上搜索,发现我并不孤单。所以我创建了这篇文章,希望我发现的有关应用程序图标的内容可以帮助其他人。

听起来您可能和我一样,已经接受了 XCode 5.0 的建议,将图标文件迁移到目录中。

执行此操作时,您需要从项目的 .plist 文件中删除 CFBundleIconFile("图标文件"(参数。这是执行此操作的旧方法,一旦您迁移了图标文件,显然该参数不正确。

奇怪的是,XCode的迁移不会自动为您解决此问题。本来会非常苹果来帮助你。

如果您的应用支持 iOS 5.0 及更高版本,则将所有图标文件移动到资产目录即可。

如果您的应用程序仍然需要支持较低版本的iOS(如我的(,解决方案是在项目plist文件中使用CFBundleIconFiles密钥。就我而言,我的应用程序是仅限iPhone的应用程序,因此我执行以下操作:

  1. 准备 8 个图标文件:两个适用于 iOS6 及更早版本的应用图标(57x57 和 114x114(、两个适用于 iOS7 的图标(60x60 和 120x120(、两个用于 iOS 6 及更早版本的聚光灯搜索/设置的图标(29x29 和 58x58(和两个用于聚光灯的图标(40x40 和 80x80(。这些文件必须是 PNG 文件。随心所欲地命名这些文件,但高分辨率文件名必须采用lowResolutionName@2x.png
  2. 在项目 plist 文件中,编辑 CFBundleIconFiles 项(它是一个数组(以包含上述图标文件的名称。只需要低分辨率文件名,并且不应包含扩展名 (.png(。Xcode 会自动找到高分辨率文件,只要它们的名称遵循约定(带 @2x(。
  3. 确保您的项目不包含"资源目录"文件夹
  4. 如果您正确执行了上述操作,则在检查应用程序目标的"常规"部分时,您应该会看到Xcode在"应用程序图标"部分下的正确位置列出了所有图标文件。
  5. 如果您的应用需要支持 iOS 3.1 及更早版本,则需要创建四个额外的图标文件。这些文件的大小和名称如下所示:图标.png (57x57(、Icon@2x.png (114x114(、图标小.png (29x29(、图标Small@2x.png (58x58(。固定名称是 iOS 所必需的,无法更改。但是,只要您以这种方式命名图标文件,就不需要做任何额外的事情。

完成这些步骤后,将应用程序上传到App Store时,图标应该不会出现任何问题。

资产目录简化了上述一些步骤,例如,生成低分辨率图标文件(我的猜测(。

我从"iOS人机界面指南","iOS应用程序编程指南"和"信息属性列表参考"中获得了上述信息。搜索"应用程序图标",一切都得到了解释。

我的解决方案是:在"构建阶段"的"复制捆绑资源"下,单击"+"并选择所有图标。

祝你好运。

你的食谱很完美。

就我而言,

我在支持文件中选择了NameOfMyApp-info.plist。

我只需要打开密钥:图标文件。

我刚刚删除了所有图像字符串。(提交中的错误消息与这些图像完全有关。

我尝试再次提交并:提交成功。

谢谢的

上述解决方案在我的特定实例中都不起作用。

最后,以下内容确实有效,以防其他人遇到同样的问题:

  1. 从资产目录
  2. 在导航器窗格的目标属性中删除,然后为应用图标重新添加"使用资产目录" - 这将重新创建一个空的应用图标集
  3. 选择所需的大小并通过从导航窗格中拖动来分配正确的图像
  4. 删除CFBundleIconFiles键(iPad有第二个(
  5. 重建存档

在构建 Cordova 项目时发现了同样的问题。

删除带有图标CFBundleIcon.png info.plist为我清除了问题

我基本上进入了info.plist并删除了我不需要的图标。我从 Cocos2d 模板开始,不需要其中的大部分,所以我将它们全部删除。当我存档程序并对其进行验证时,它给出了诸如"这个图标和那个图标在哪里?好吧,我把它们都删除了。但是在 info.plist 中,所有 13 个图标仍然列出,所以我只是删除了我删除的所有图标。

为了让我解决这个问题,我不得不再次添加一个图标图像。

错误提到了"CFBundleIcons":AppIcon40x40文件,当我检查AppIcon图像集下的Images.xcassets时,iPhone聚光灯IOS 7-9 40pt实际上分辨率错误,所以我再次从Finder拖动分辨率为80x80的图标(40x40乘以比例因子2x(。

此错误可能有多种原因。就我而言,两个图标文件的像素尺寸错误(由cordova生成(。所以你可以检查一下。

最新更新