如何在 Xcode 资产目录中分配启动图像?

Posted

技术标签:

【中文标题】如何在 Xcode 资产目录中分配启动图像?【英文标题】:How to assign launch images in Xcode assets catalog? 【发布时间】:2017-10-03 18:30:45 【问题描述】:

Xcode 用于将启动图像分配到资产目录的界面相当混乱。鉴于我们选择的设置(仅限纵向,适用于 ios 8.0 及更高版本),仅提供 2 个图像插槽,但 Apple docs 列出了各种设备(6s、6s Plus、7、7 Plus)所需的各种分辨率等),确切地说是 12 个。我正在使用 Xcode 8.3 顺便说一句。

我们正在为常用设备设计肖像图像,但是如何在此处分配它们?请注意下面的图片显示了图像的预期分辨率(直接来自 Apple 文档)和用于分配这些图像的 Xcode UI 之间令人困惑的不匹配。只有 6 个可用的插槽,即使 Apple 文档只描述了 6 个图像,也无法确定哪个位置。

编辑:部署目标是 8.3。

【问题讨论】:

您的“静态启动屏幕图像”包含 12 台设备,但其中 4 台是 iPad,并且大多数其他设备的尺寸相同。这里实际上只有 3 种不同的分辨率,4.7 英寸屏幕(iPhone 6s/7/8)、5.5 英寸屏幕(Plus 设备)和 4 英寸屏幕(iPhone 4S)。有趣的是,iPhone 4S 实际上是支持的具有 3.5 英寸屏幕且根本未列出的设备。 我相信为 3.5" 和 4" 屏幕提供图像的正确方法是选中 iOS 7.0 及更高版本的 iPhone Portrait 复选框。这将为您提供“2x”和“Retina 4”选项。 “2x”大概适用于 3.5 英寸设备(例如 iPhone 4S),“Retina 4”适用于 4 英寸设备(例如 iPhone SE)。 “令人困惑的不匹配”我看不出有什么令人困惑的地方。 @matt -- 例如:查看 iPad 图像有多少个槽位:2. 查看 Apple 文档中列出了多少个唯一尺寸的 iPad 分辨率:3. 这就是我刚才在评论中的内容: 3. iPad 图像显示了多少个插槽? 2. 【参考方案1】:

根据您的部署目标,您需要关注 3 或 4 个总分辨率:5.5" 设备、4.7" 设备、4" 设备(例如 iPhone SE),如果您的部署目标是 iOS 9 或更低版本3.5 英寸设备(例如 iPhone 4S)。

“iOS 8.0 及更高版本”iPhone Portrait 为您提供 5.5" 和 4.7" 设备。如果您选中“iOS 7.0 及更高版本”iPhone Portrait 选项,该选项将为您提供“2x”(我相信是 3.5 设备)和“Retina 4”(即 4 设备)。

使用这 4 个选项,您将能够覆盖所有受支持的 iPhone。

如果您需要 iPad 支持,您可以选中相关的 iPad 复选框。但是,资产目录似乎没有为任一 iPad Pro 提供插槽,我不知道为什么不提供。 This answer 建议对于 iPad Pro,您应该完全放弃资产目录并切换到免费图像和 Info.plist 键。


12 台设备也不需要 12 张图片。一堆设备共享相同的分辨率。以下是您需要的图片:

2048x2732 - 12.9" iPad Pro 1668x2224 - 10.5" iPad Pro 1536x2048 - 9.7" iPad、7.9" iPad mini 4 1242x2208 - iPhone 6s Plus、iPhone 7 Plus、iPhone 8 Plus 750x1334 - iPhone 6、iPhone 6s、iPhone 7、iPhone 8 640x1136 - iPhone 5、iPhone 5s、iPhone 5c、iPhone SE 640x960 - iPhone 4s

如果您升级到 Xcode 9,您还需要一个用于 iPhone X 的1125x2436 图像。

【讨论】:

这很有帮助,但你能告诉我如何将图像分配到 Xcode 的资产中吗?我只能在每个插槽中放置一张图像,对吗?我确实继续检查了 iPhone 和 iPad 的 iOS 7.0 及更高版本,但这给了我总共只有 6 个插槽。我需要知道如何将我的所有图像映射到这 6 个插槽中(请参阅我添加的新更新图片),或者是否有不同的方法来进行分配? 您将图像拖到插槽中。您不需要 12 张图像,因为许多设备共享相同的分辨率。在我看来,您需要 7 张图片。我不知道为什么资产目录似乎没有为 12.9 英寸 iPad Pro 提供插槽。这里的 another answer 建议您删除资产目录并使用 Info.plist 键为12.9 英寸 iPad Pro。【参考方案2】:

如果您像其他人一样只使用启动故事板,那么您不会有任何问题。您只需提供 一个 启动故事板:故事结束。

编辑从 iOS 13 和 Xcode 11 开始,这将很快需要。发射图像已死。您的应用必须有一个启动故事板。

【讨论】:

很公平。谢谢。

以上是关于如何在 Xcode 资产目录中分配启动图像?的主要内容,如果未能解决你的问题,请参考以下文章

如何以正确的方式命名 XCode 资产目录中的图像?

Xcode 6.1 关于资产目录中启动图像的警告

加载图像或其他资产时如何在我的 Xcode 项目中模拟目录/分组路径? [复制]

如何在资产目录中设置可访问性标签? Xcode 11

Xcode 5和资产目录:如何引用LaunchImage?

资产目录 Xcode 6.1.1 启动图像肖像