iPhone - 多个目标是多个发射图像的噩梦

时间:2012-04-07 17:45:06

标签: iphone ios xcode ipad

我有一个项目包含两个版本的两个应用程序,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
  • 适用于iPad的AAA ...启动图像(iPad)= AAAiPad.png
  • BBB for iPhone ...启动图像(iPhone)= BBBiPhone.png
  • BBB for iPad ...启动图像(iPad)= BBBiPad.png

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

任何线索?

感谢

4 个答案:

答案 0 :(得分:12)

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

你需要这样做:

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

enter image description here

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

示例

  • 目标1

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

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

编辑1: 放置图像就像将图像文件放入图形资源一样。请勿将其放在目标“摘要”下的图像空间中。

很适合我。

答案 1 :(得分:3)

我已经与GitHub项目一起编写了说明。

https://github.com/brennanMKE/MultipleTargets

要完成从单个Xcode项目中完全支持多个目标构建的所有操作,需要处理许多步骤和细节。该示例涉及......

  1. 每个构建目标的唯一应用标识符
  2. 独特的启动图形
  3. 独特的应用图标
  4. 自定义C标志以管理每个构建目标的不同功能

答案 2 :(得分:2)

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

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

info.plist - Icons

  • 关于发射图像(低分辨率和视网膜):我按照乔纳斯的建议,但使用带有视网膜规格的图像(640 x 960)。它适用于低分辨率和高分辨率。

info.plist - Launch Image with hi-res png file

答案 3 :(得分:1)

实际上非常简单:

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

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

  3. MyAppName.png

    MyAppName@2x.png

    MyAppName-568h@2x.png

    MyAppName-Landscape@2x~ipad.png

    MyAppName - 风景〜ipad.png

    MyAppName-Portrait@2x~ipad.png

    MyAppName画像〜ipad.png