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

上传我的应用程序到App Store时,我从Application Loader得到了这个错误。 我的应用程序是在iOS 3.0的时候开发的,目前仍然是iOS 4.3及以上版本。 我最近更新了应用程序,使其与iOS7兼容。 但是Application Loader总是把这种types的错误返回给我。 我搜查了互联网,发现我并不孤单。 所以我创build了这个post,希望我发现的应用程序图标可以帮助其他人。

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

当你这样做,你需要从项目的.plist文件中删除 CFBundleIconFile(“图标文件”)参数。 这是这样做的旧方法,一旦你已经迁移你的图标文件,显然该参数是不正确的。

奇怪的是,XCode的迁移不能自动为您解决这个问题。 本来苹果就是这样帮你的。

如果您的应用程序支持iOS 5.0或更高版本,则将所有图标文件移动到资源目录都可以。

如果你的应用程序仍然需要支持较低版本的iOS(如我的),解决scheme是使用项目plist文件中的CFBundleIconFiles项。 在我的情况下,我的应用程序是一个iPhone应用程序,所以我做了以下几点:

  1. 准备8个图标文件:iOS6及更早版本的两个应用程序图标(57×57和114×114),iOS7两个图标(60×60和120×120),iOS 6及更早版本的两个聚光灯search/设置图标(29×29和58×58)聚光灯(40×40和80×80)。 这些文件必须是PNG文件。 无论您想要什么,都可以命名这些文件,但高分辨率文件名的格式必须是lowResolutionName@2x.png
  2. 在项目plist文件中,编辑CFBundleIconFiles项(这是一个数组)以包含上述图标文件的名称。 只需要低分辨率的文件名,扩展名(.png)不应该包含在内。 Xcode会自动find高分辨率的文件,只要他们的名字遵循约定(@ 2x)。
  3. 确保您的项目不包含资产目录文件夹
  4. 如果你做了上述的事情,当你检查应用程序目标的“常规”部分,你应该看到Xcode已经在“应用程序图标”部分的正确位置列出了所有的图标文件。
  5. 如果您的应用程序需要支持iOS 3.1及更早版本,则需要制作四个额外的图标文件。 这些文件的大小和名称如下:Icon.png(57×57),Icon@2x.png(114×114),Icon-Small.png(29×29),Icon-Small@2x.png(58×58)。 固定名称是iOS所必需的,不能更改。 但只要你用这种方式命名图标文件,就不需要做任何额外的事情。

完成这些步骤之后,将应用上传到App Store时,图标应该没有任何问题。

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

我从“iOS人机界面指南”,“iOS应用程序编程指南”和“信息属性列表参考”中获得了以上信息。 search“应用程序图标”和everthing解释。

我的解决scheme是:在“构build阶段”中,在“复制束资源”下,单击“+”并select所有图标。

祝你好运。

你的食谱工作是完美的。

对我来说,

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

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

我刚刚删除了所有的图像的string。 (提交中的错误信息正是关于这些图像。

我已经尝试再次提交和:提交成功。

谢谢

上述解决scheme在我的特定实例中都没有工作。

最后下面的工作,以防万一谁有同样的问题:

  1. 从资产目录中删除导致问题的应用程序图标集
  2. 在导航窗格的目标属性中,删除并读取“使用资产目录”作为应用程序图标 – 这将重新创build一个空的应用程序图标集
  3. select您所需的尺寸,并通过从导航窗格中拖动来分配正确的图像
  4. 删除CFBundleIconFiles键(还有一个用于iPad的键)
  5. 重build档案

我基本上去了info.plist,并删除了我不需要的图标。 我从Cocos2d模板开始,并不需要其中大部分,所以我把它们都删除了。 当我将程序归档并validation时,它给出了诸如“这个图标和那个图标在哪里?”之类的错误。 那么,我删除了他们。 但在info.plist中,所有13个图标仍然列出,所以我删除了所有删除的图标。

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

错误提到'CFBundleIcons':AppIcon40x40文件,当我检查AppIcon图像下的AppIcon设置图像时, Iphone Spotlight IOS 7-9 40pt实际上是用错误的分辨率,所以我再次从Finder中拖动80×80分辨率的图标(40×40乘以比例因子2x)。

这个错误可能有几个原因,因为它似乎。 在我的情况下,两个图标文件有错误的像素尺寸(由cordova生成)。 所以你可以检查一下。

在build立cordova项目时发现了同样的问题。

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