图标,资产目录和Info.plist混淆

Ste*_*ton 8 info.plist ios7 asset-catalog

我有一个应用程序,从iOS 5开始生活,并从那时起一直在更新.对于iOS 7,我已经切换到使用资产目录来获取所有资源,这很不错并且似乎运行良好.但是,当我尝试提交给Apple时,我收到验证错误:

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

我也得到了其他图标的相同错误.这些图标确实出现在资产目录中,名称 - 直到案例 - 完全符合我的判断.资产目录位于"复制捆绑资源"中,当我在iPhone和iPad(iOS 7)和iOS 6的模拟器中运行应用程序时,所有资源都显示在正确的位置.

我已更新应用程序以使用iOS 6的最低部署目标.

那么,我如何成功将更新提交给Apple?我是否需要Info.plist中的引用?我还应该检查其他任何设置吗?警告是否是虚假的,我应该忽略一些事情(在提升雷达之后)?

Dan*_*ull 10

当为iOS 6及更低版本编译资产目录时,图像将放在应用程序包的根目录中,就像您只是以旧方式复制它们一样.发生这种情况时,Apple会根据资产名称而不是文件名来命名图像,这意味着我们仍然可以使用它+[UIImage imageNamed:]来获取iOS 6及更低版本的资产.

当我们在资产目录中设置以下图标时,App Icon资产就是如此:

在此输入图像描述

它们编译成如下:

在此输入图像描述

由于iOS 6仍然是iOS 6,因此必须在Info.plist中引用这些文件,否则现有系统将无法工作.查看此测试应用程序的已编译Info.plist,您会看到Xcode已CFBundleIconFiles为我们添加,因此我们不需要.

在此输入图像描述

我上传了我以前用于github.com/danielctull-tests/AssetTest的测试项目.