如何更新应用程序图标并启动图像以同时支持IOS 6和7?

And*_*ean 38 iphone ios xcode5

我一直陷入困境,想知道如何从同一版本中支持IOS7和IOS 6+的Xcode5发布应用程序,并为两者正确加载资源(图标和启动画面),并且仍然正确地为IOS 6渲染资源.我遇到的主要问题是试图使IOS 6仍然呈现图标而不进行着色或突出显示,因为"预呈现"选项在Xcode 5的GUI中不再可用.任何想法如何使所有内容和图标正确呈现并支持多个操作系统版本?

安德鲁

And*_*ean 40

Apple 对IOS 7应用程序的要求有明确的指导,但即便如此,我遇到了错误,使得单个应用程序支持多个操作系统版本.在开始工作之后,我想我会指出一些让我在未来帮助他人的地方.

我首先更新了我的整个应用程序以干净地支持IOS 7,然后返回并启用了以前的版本,但这个过程不是必需的.

只需确保首先设置正确的部署目标部署目标

一旦设置了部署目标,Xcode5就会很好地更改支持多个OS版本所需的默认资产列表.确保以所需的分辨率和所需的文件名重新上载正确版本的图标(如下所示,支持IOS6-IOS7) Xcode5中的图标,它们的大小和默认文件名,用于IOS6 -7支持

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

最后,手动添加下面的两个.plist标志,你应该设置让你的图标在IOS版本中一致地呈现,没有光泽(解释如下)

手动将这些条目添加到您的plist IOS7的新平面度去除了之前版本的后处理功能,它们为图标添加了高光和光泽效果.IOS 7应用程序不再使用该效果,但如果您在IOS 6上从Xcode5加载应用程序,它将重新应用默认的光泽效果.这是令人愤怒的,因为Xcode中不再有"预呈现"的GUI标志来禁用该后处理.如上所述,您需要手动将标志添加到应用程序的plist中.在我的情况下,我不得不在两个位置添加标志以强制IOS 6停止应用效果.您可以通过直接打开文件或导航到项目概述中的设置来访问plist.您可能需要从模拟器中卸载应用程序,然后重建应用程序以强制模拟器丢失旧图标的缓存.


小智 29

如果您设置资产目录,则可以打开它选择图像,然后转到检查器并勾选此框

xcode 5的屏幕截图

  • 这个答案需要更多的赞成!它会杀死1只石头的2只鸟:指定预渲染属性并包括释放后的新设备大小. (3认同)

Ida*_*dan 25

只需使用"资产目录"(您可以从目标上的常规选择).

这将在您的项目中创建images.xcassets,您可以轻松拖动iOS 7和iOS 7之前的图标设计.

更新: 所以在iOS 7正式发布后我现在可以这样写:

在资产目录本身上,选择要设置为预渲染的Appicon集,然后转到" 属性"检查器,只需标记"iOS图标已预渲染".你也可以在那里设置你想要支持哪些操作系统和设备(它会创建所有选项,所以你可以拖放设置).

需要注意的重要一点是,出于某种原因,如果您在此目录中使用多个目标和多个集合,则必须手动添加目标成员资格.要执行此操作,只需标记"资产目录"文件,转到文件检查器并标记要使用它的所有目标.我认为当你从目标设置中选择"资产目录"时,Apple应该自动执行此操作,但在此之前我决定在这里提一下(花了我一个小时来计算出来).


Dog*_*fee 13

我最近经历过这个.默认情况下它似乎只显示以下内容.

在此输入图像描述

轻松修复是添加一个新的AppIcon

在此输入图像描述

给你所有这些选择.

在此输入图像描述