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.pngiPad 版 AAA
AAAiPad-Portrait@2x.png AAAiPad-Portrait.png AAAiPad-Landscape@2x.png AAAiPad-Landscape.pngBBB 图像具有相同的名称结构,名称中使用 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 - 多个目标多个启动图像的噩梦的主要内容,如果未能解决你的问题,请参考以下文章
适用于iOS网络应用的多个“苹果触摸启动图像”分辨率(尤其适用于iPad)?