iPhone - 多个目标多个启动图像的噩梦

Posted

技术标签:

【中文标题】iPhone - 多个目标多个启动图像的噩梦【英文标题】:iPhone - multiple targets multiple launch images nightmare 【发布时间】:2012-04-07 17:45:05 【问题描述】:

我有一个项目,其中包含 2 个应用程序,每个应用程序有两种风格,iPhone 和 iPad。因此,该项目有 4 个目标。显然不是通用的。

为了简单起见,我们将每个应用程序称为 AAA 和 BBB。

启动图像的命名如下:

适用于 iPhone 的 AAA

AAAiPhone.png AAAiPhone@2x.png

iPad 版 AAA

AAAiPad-Portrait@2x.png AAAiPad-Portrait.png AAAiPad-Landscape@2x.png AAAiPad-Landscape.png

BBB 图像具有相同的名称结构,名称中使用 BBB 而不是 AAA。

我已将此 UILaunchImageFile 添加到每个 plist,如下所示:

适用于 iPhone 的 AAA ... 启动图像 (iPhone) = AAAiPhone.png AAA for iPad ... 启动图像 (iPad) = AAAiPad.png BBB for iPhone ... 启动图片 (iPhone) = BBBiPhone.png BBB for iPad ... 启动图像 (iPad) = BBBiPad.png

当我将图像拖到 Xcode 上的正确占位符时,它适用于 AAA,但当我为 BBB 执行此操作时,它会覆盖所有 AAA 图像。它似乎忽略了 info.plist 信息。

有什么线索吗?

谢谢

【问题讨论】:

【参考方案1】:

这是因为图像被重命名为 Default.png(或每个目标都相同的另一个名称)。

你需要这样做:

在您的 plist 中为每个目标添加一个条目。 iPad:启动图像 (iPad) iPhone 启动图片 (iPhone)

为每个目标使用不同的字符串。 将带有该字符串的图像放置到您的资源文件中(还要确保在所需目标中只有所需图像处于活动状态)。

示例

目标 1

plist:启动图像 (iPad) = AAADefaultiPad 放置文件:AAADefaultiPad@2x.png 和 AAADefaultiPad.png

目标 2

plist:启动图像 (iPad) = BBBDefaultiPhone 放置文件:AAADefaultiPhone@2x.png 和 BBBDefaultiPhone.png

编辑 1: 像将图像文件放置到图形资源中一样放置图像。不要将它放在目标“摘要”下的图像空间中。

很适合我。

【讨论】:

不要将图像放到“摘要”下的图像空间中。将其作为文件放在资源中!然后它必须工作。 :) 好的,谢谢,但如果我添加一个名为“启动图像”的条目,它似乎只是工作,而当条目是“启动图像(ipad)”时它不起作用。无论如何,谢谢!【参考方案2】:

我已经编写了说明以及 GitHub 项目。

https://github.com/brennanMKE/MultipleTargets

为了完全支持单个 Xcode 项目的多个目标构建,您需要处理许多步骤和细节。该示例地址...

    每个构建目标的唯一应用标识符 独特的启动图形 独特的应用程序图标 自定义 C 标志来管理每个构建目标的不同功能

【讨论】:

【参考方案3】:

当我不得不添加 Retina 图标和启动图像时,我遇到了关于多个目标 (iPhone) X 多个启动图像/多个图标的问题。为了解决这个问题,我必须在 plist 中执行以下操作:

关于图标(低分辨率和视网膜):在每个目标中,我删除了条目图标文件(ios 5),并添加了另一个(图标文件)。然后我将这一行(Icon文件)修改为Icon文件(基本上单数类型是String,复数会自动变成Array),并添加图片文件引用,如下:

关于发布图像(低分辨率和视网膜):我按照 Jonas 的建议做了,但使用的图像具有视网膜规格 (640 x 960)。它适用于低分辨率和高分辨率。

【讨论】:

【参考方案4】:

其实很简单:

    在 plist 中使用要替换文件名中的“默认”的字符串定义“启动图像”。 Default.png 变为 MyAppName.png 等。

    只需创建符合默认文件名的文件名,例如:

MyAppName.png

MyAppName@2x.png

MyAppName-568h@2x.png

MyAppName-Landscape@2x~ipad.png

MyAppName-Landscape~ipad.png

MyAppName-Portrait@2x~ipad.png

MyAppName-Portrait~ipad.png

【讨论】:

非常感谢您的回答。我在这些图像上浪费了两个小时。 WTF 苹果?

以上是关于iPhone - 多个目标多个启动图像的噩梦的主要内容,如果未能解决你的问题,请参考以下文章

在 iPhone 上显示多个图像缩略图时 UI 失真

iPhone:标签应用程序的启动图像?

iPhone - 应用程序启动时保存核心数据会导致多个相同的对象

通用应用程序中启动图像的方向问题

UWP - 如何启动并行运行的多个任务?

idea2021.1.3版本如何启动多个客户端程序