38

我一直难以弄清楚如何从 Xcode5 发布一个在同一版本中支持 IOS7 和 IOS 6+ 的应用程序,并且资产(图标和闪屏)都可以正确加载,并且仍然正确渲染 IOS 6 的资产。我的主要问题是试图让 IOS 6 仍然在没有阴影或突出显示的情况下渲染图标,因为在 Xcode 5 的 GUI 中甚至不再提供“prerendered”选项。任何想法如何让所有内容和图标正确呈现并支持多个操作系统版本?

安德鲁

4

6 回答 6

40

Apple 对 IOS 7 应用程序的要求有明确的指导方针,但即便如此,我还是在使单个应用程序支持多个操作系统版本时遇到了错误。让它开始工作后,我想我会指出一些对我来说是挂机的地方,以便将来帮助别人。

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

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

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

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

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

手动将这些条目添加到您的 plist IOS7 在其新的平整度中删除了以前版本所做的后处理,它们为图标添加了高光和光泽效果。该效果不再适用于 IOS 7 应用程序,但如果您在 IOS 6 上从 Xcode5 加载应用程序,它将重新应用默认的光泽效果。这令人愤怒,因为 Xcode 中不再有“预渲染”GUI 标志来禁用该后处理。如上所述,您需要手动将标志添加到应用程序的 plist。就我而言,我必须在两个位置添加标志以强制 IOS 6 停止应用效果。您可以通过直接打开文件或导航到项目概述中的设置来访问 plist。您可能需要从模拟器中卸载应用程序,然后重新构建应用程序以强制模拟器丢失旧图标的缓存。

于 2013-09-06T18:51:16.603 回答
29

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

xcode 5 的屏幕截图

于 2013-10-03T13:19:56.847 回答
25

只需使用“资产目录”(您可以从目标中的常规中选择)。

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

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

在资产目录本身上,选择要设置为预渲染的Appicon集,然后转到Attribute Inspector并标记“iOS 图标已预渲染”。当然,您也可以在那里设置您想要支持的操作系统和设备(它会创建所有选项,因此您只需拖放即可进行设置)。

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

于 2013-09-09T11:09:35.083 回答
13

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

在此处输入图像描述

简单的解决方法是添加一个新的 AppIcon

在此处输入图像描述

为您提供所有这些选项。

在此处输入图像描述

于 2013-09-09T12:12:26.593 回答
3

我的经验:

创建新的空应用程序时,它将创建一个“默认”应用程序图标/启动图像资产目录,如@Smick 所述,该目录不完整。

这个新“目录”令人讨厌的部分是它不显示图像大小。

要解决此问题,请在项目导航器上选择项目,然后在“常规”上,您会注意到 2 个区域 - 应用程序图标和启动图像。这些将指向资产目录。您可以将其更改为“不使用资产目录”。之后,界面将变为文件/维度列表。

但是这个接口有几个问题:

  1. 它应该只要求图像的视网膜版本(并计算法线,或者有两个链接,一个用于正常,另一个用于视网膜)。
  2. 需要重命名几个图像(启动图像)才能使它们工作(系统会为您执行此操作)。
  3. 由于错误无法分配两个图像(iPad Portrait iOS 7 和 iPad Landscape iOS 7,均为正常分辨率) - 您可以为它们指定一个图像,但该图像不会保留,并且在您插入时将被取消选择下一张图片。
  4. 指定的图像尺寸与 HIG 手册中所述的尺寸略有不同。
  5. 我非常不喜欢带有点的图像的“新”表示法(因为它们依赖于设备,因此不准确)。
  6. 如果您不想看到 iOS 6 重新应用图标上的“高亮/照明”,您需要在应用程序列表中添加一个键(项目经理 | 项目 | 信息。在那里,您可以添加一个键“图标已包含光泽效果”。如果需要,您可能还需要在 iOS 5 图标上添加它。
于 2013-09-15T01:12:30.740 回答
1

对于 Xcode 6

对于LaunchImage,您必须确保检查 iOS 6.0 和之前的 iPhone (Portrait) 或 iPad // 取决于您的项目配置

尺寸

Default.png (320x480) 
Default@2x.png (640x960) 
Default-568h@2x.png (640x1136)

在此处输入图像描述

AppIcon相同

于 2015-02-25T12:59:01.493 回答