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

时间:2013-10-03 18:24:07

标签: ios ios7 application-loader

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

9 个答案:

答案 0 :(得分:95)

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

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

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

答案 1 :(得分:11)

如果您的应用支持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)。只要名称符合约定(使用@ 2x),Xcode就会自动找到高分辨率文件。
  3. 确保您的项目不包含资产目录文件夹
  4. 如果您执行了上述操作,当您检查应用目标的“常规”部分时,您会看到Xcode已在“应用图标”部分下方的正确位置列出了所有图标文件。
  5. 如果您的应用需要支持iOS 3.1及更早版本,则需要制作四个额外的图标文件。这些文件的大小和名称如下:Icon.png(57x57),Icon @ 2x.png(114x114),Icon-Small.png(29x29),Icon-Small @ 2x.png(58x58)。 iOS需要固定名称,无法更改。但只要您以这种方式命名图标文件,就不需要做任何额外的事情了。
  6. 完成这些步骤后,将应用程序上传到App Store时图标不会出现任何问题。

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

    我从“iOS人机界面指南”,“iOS应用程序编程指南”和“信息属性列表参考”中获得了上述信息。搜索“应用程序图标”并解释其中的内容。

答案 2 :(得分:10)

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

祝你好运。

答案 3 :(得分:4)

你的食谱很完美。

就我而言,

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

我只需要打开Key:Icon文件。

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

我尝试再次提交并提交:

感谢' S

答案 4 :(得分:4)

上述解决方案均未在我的特定实例中有效。

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

  1. 从中删除导致问题的应用程序图标集 资产目录
  2. 在导航器窗格中的目标属性中删除 然后阅读“使用资产目录”#39;对于应用程序图标 - 这将重新创建一个空的应用程序图标集
  3. 从导航窗格
  4. 中选择所需尺寸并指定正确的图像
  5. 删除CFBundleIconFiles键(iPad有第二个键)
  6. 重建档案

答案 5 :(得分:1)

我基本上进入了info.plist并删除了我不需要的图标。我开始使用Cocos2d模板并且不需要大部分模板,因此我将它们全部删除了。当我存档该程序并进行验证时,它会出现错误,例如“此图标和该图标在哪里?”好吧,我把它们全部删除了。但是在info.plist中仍然列出了所有13个图标,所以我删除了我删除的所有图标。

答案 6 :(得分:1)

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

错误提到' CFBundleIcons':AppIcon40x40 文件,当我选中Images.xcassets图片下的AppIcon时,设置图片 Iphone Spotlight IOS 7-9 40pt 实际上分辨率错误,所以我再次从Finder拖动分辨率为80x80的图标(40x40乘以比例因子2x)。

答案 7 :(得分:1)

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

答案 8 :(得分:1)

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

CFBundleIcon中使用 icon.png 删除info.plist为我清除了问题