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

Jul*_*hao 53 ios application-loader ios7

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

Wyt*_*tze 95

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

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

奇怪的是,XCode的迁移并不能自动解决这个问题.本来非常Apple会帮助你.

  • 我不得不删除本回答中提到的CFBundleIconFile和上面评论中提到的CFBundleIconFiles(复数).谢谢大家! (2认同)

Jul*_*hao 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需要固定名称,无法更改.但只要您以这种方式命名图标文件,就不需要做任何额外的事情.

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

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

我从"iOS人机界面指南","iOS应用程序编程指南"和"信息属性列表参考"中获得了上述信息.搜索"app icons"并解释everthing.


Eli*_*iss 10

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

祝好运.