【问题标题】:iPhone - multiple targets multiple launch images nightmareiPhone - 多个目标多个启动图像的噩梦
【发布时间】: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 信息。

有什么线索吗?

谢谢

【问题讨论】:

    标签: iphone ios xcode ipad


    【解决方案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 项目的多个目标构建,您需要处理许多步骤和细节。该示例地址...

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        【解决方案4】:

        其实很简单:

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

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

        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 苹果?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-12
        • 2010-12-21
        • 2020-03-14
        • 2010-11-13
        相关资源
        最近更新 更多