And*_*ean 40
Apple 对IOS 7应用程序的要求有明确的指导,但即便如此,我遇到了错误,使得单个应用程序支持多个操作系统版本.在开始工作之后,我想我会指出一些让我在未来帮助他人的地方.
我首先更新了我的整个应用程序以干净地支持IOS 7,然后返回并启用了以前的版本,但这个过程不是必需的.
只需确保首先设置正确的部署目标
一旦设置了部署目标,Xcode5就会很好地更改支持多个OS版本所需的默认资产列表.确保以所需的分辨率和所需的文件名重新上载正确版本的图标(如下所示,支持IOS6-IOS7)

对启动图像执行相同操作,请注意您必须将启动图像重命名为新名称,如果您允许,Xcode会尝试为您执行此操作.请注意下面的新尺寸,因为IOS7会扩展状态栏后面的启动图像背景.

最后,手动添加下面的两个.plist标志,你应该设置让你的图标在IOS版本中一致地呈现,没有光泽(解释如下)
IOS7的新平面度去除了之前版本的后处理功能,它们为图标添加了高光和光泽效果.IOS 7应用程序不再使用该效果,但如果您在IOS 6上从Xcode5加载应用程序,它将重新应用默认的光泽效果.这是令人愤怒的,因为Xcode中不再有"预呈现"的GUI标志来禁用该后处理.如上所述,您需要手动将标志添加到应用程序的plist中.在我的情况下,我不得不在两个位置添加标志以强制IOS 6停止应用效果.您可以通过直接打开文件或导航到项目概述中的设置来访问plist.您可能需要从模拟器中卸载应用程序,然后重建应用程序以强制模拟器丢失旧图标的缓存.
Ida*_*dan 25
只需使用"资产目录"(您可以从目标上的常规选择).
这将在您的项目中创建images.xcassets,您可以轻松拖动iOS 7和iOS 7之前的图标设计.
更新: 所以在iOS 7正式发布后我现在可以这样写:
在资产目录本身上,选择要设置为预渲染的Appicon集,然后转到" 属性"检查器,只需标记"iOS图标已预渲染".你也可以在那里设置你想要支持哪些操作系统和设备(它会创建所有选项,所以你可以拖放设置).
需要注意的重要一点是,出于某种原因,如果您在此目录中使用多个目标和多个集合,则必须手动添加目标成员资格.要执行此操作,只需标记"资产目录"文件,转到文件检查器并标记要使用它的所有目标.我认为当你从目标设置中选择"资产目录"时,Apple应该自动执行此操作,但在此之前我决定在这里提一下(花了我一个小时来计算出来).