我一直陷入困境,想知道如何从同一版本中支持IOS7和IOS 6+的Xcode5发布应用程序,并为两者正确加载资源(图标和启动画面),并仍然为IOS 6渲染资源正确。我遇到的主要问题是试图使IOS 6仍然呈现图标而不进行着色或突出显示,因为"prerendered" option在Xcode 5的GUI中不再可用。任何想法如何使所有内容和图标正确呈现并支持多个操作系统版本?
安德鲁
答案 0 :(得分:40)
Apple对IOS 7应用程序的要求有clear guidelines但是即便如此,我遇到了错误,使得单个应用程序支持多个操作系统版本。在开始工作之后,我想我会指出一些让我在未来帮助他人的地方。
我首先更新了我的整个应用程序以干净地支持IOS 7,然后返回并启用了以前的版本,但这个过程不是必需的。
确保首先设置正确的部署目标
设置部署目标后,Xcode5可以很好地更改支持多个操作系统版本所需的默认资产列表。确保以所需的分辨率和所需的文件名重新上载正确版本的图标(如下所示,支持IOS6-IOS7)
对于启动图像执行相同操作,请注意您必须将启动图像重命名为新名称,如果您允许,Xcode会尝试为您执行此操作。请注意下面的新尺寸,因为IOS7会扩展状态栏后面的启动图像背景。
最后,手动添加下面的两个.plist标志,你应该设置让你的图标在IOS版本中一致呈现,没有光泽(下面有解释)
IOS7在其新的平整度中删除了之前版本所做的后处理,它们为图标添加了高光和光泽效果。 IOS 7应用程序不再使用该效果,但如果您在IOS 6上从Xcode5加载应用程序,它将重新应用默认的光泽效果。这是令人愤怒的,因为Xcode中不再有“预呈现”的GUI标志来禁用该后处理。如上所述,您需要手动将标志添加到应用程序的plist中。在我的情况下,我必须在两个位置中添加标志以强制IOS 6停止应用效果。您可以通过直接打开文件或导航到项目概述中的设置来访问plist。您可能需要从模拟器中卸载应用程序,然后重建应用程序以强制模拟器丢失旧图标的缓存。
答案 1 :(得分:29)
如果你设置资产目录,你可以打开它选择图像,然后转到检查员并勾选此框
答案 2 :(得分:25)
只需使用“资产目录”(您可以从目标上的常规选择)。
这将在您的项目中创建images.xcassets,您可以轻松地将您的图标设计拖到iOS 7和iOS 7之前。
<强>更新强> 因此,在iOS 7正式发布后,我现在可以写下这个:
在资产目录本身上选择要设置为预渲染的 Appicon 集,然后转到属性检查器并只标记“iOS图标已预先渲染”。您当然可以在那里设置您想要支持的操作系统和设备(它会创建所有选项,因此您可以拖放设置)。
需要注意的重要一点是,出于某种原因,如果您在此目录中使用多个目标和多个集,则必须手动添加目标成员 。要执行此操作,只需标记“资产目录”文件,转到文件检查器并标记要使用它的所有目标。我认为当你从目标设置中选择“资产目录”时,Apple应该会自动执行此操作,但在此之前我决定在这里提一下(花了我一个小时来计算出来)。
答案 3 :(得分:13)
我最近经历过这个。默认情况下,它只显示以下内容。
轻松修复是添加新的AppIcon
为您提供所有这些选择。
答案 4 :(得分:3)
我对此的体验:
创建新的空应用时,它会创建一个“默认”应用图标/启动图像资产目录,如@Smick所述,不完整。
这个新“目录”中令人讨厌的部分是它没有显示图像尺寸。
要解决此问题,请在项目导航器上选择项目,然后在“常规”中,您会注意到2个区域 - 应用程序图标和启动图像。这些将指向资产目录。您可以将其更改为“不使用资产目录”。之后,界面将更改为文件/维度列表。
但是这个界面有几个问题:
答案 5 :(得分:1)
对于Xcode 6
对于 LaunchImage ,您必须确保检查iOS 6.0和Prior iPhone(肖像)或iPad //取决于您的项目配置
尺寸
Default.png (320x480)
Default@2x.png (640x960)
Default-568h@2x.png (640x1136)
与 AppIcon
相同