【问题标题】:Xcode launch image for different targets不同目标的 Xcode 启动图像
【发布时间】:2016-05-30 18:14:45
【问题描述】:

我在我的 Xcode 项目中创建了不同的目标,以便为不同的客户版本我的应用程序。 每个客户端使用不同的 xcassets,每个目标一个。这样我就可以拥有具有相同名称的不同图像。所以只需选择目标,就会显示正确的图像

这适用于我的应用中的任何视图。每当我在不同的目标中运行应用程序时,所有图像都会自动更改。问题是当我的启动屏幕中有图像时。 我为我的启动屏幕创建了 .xib 文件(每个客户端一个)

通过选择目标,正确的 .xib 运行,但它加载的图像始终与基础项目中的相同。


这就是我组织项目的方式,因此拥有不同的目标会自动选择不同的图像:

  • Base.xcassets:
    1. 目标成员资格 = 基础
    2. image-launch(基础项目启动屏幕)
    3. 基础项目的其他图片
  • Client1.xcassets:
    1. 目标成员 = Client1
    2. 图像启动(客户端 1 版本启动屏幕)
    3. 客户端 1 版本的其他图片
  • Client2.xcassets:
    1. 目标成员 = Client2
    2. 图像启动(客户端 2 版本启动屏幕)
    3. 客户端 2 版本的其他图像

当我选择一个目标时,所有具有该Target Membership的元素都应该被加载。只有我的 Launch ScreenBase.xcassets 加载图像启动。

【问题讨论】:

  • 你确定你在每个 xcassets 上检查了正确的目标并且没有检查其他的?
  • 是的。每个 xcasset 都只选择了正确的目标。
  • 您已核对派生数据并进行了清理?
  • 就这么做了。但它无论如何都没有用。而且,我从我的 Mac 中删除了应用程序中显示的图像。我试图强制加载客户端 2 图像。不知何故,baseapp 图像加载。我什至没有它在我的 mac 了。
  • 我遇到了完全相同的问题,并通过重新启动iOS设备解决了它。似乎 iOS 缓存了 Launch Images/Screens,当开发人员在 XCode 中更改 Launch Screen 时,由于此缓存,这些更改并不总是出现在设备上。从这里得到这个解决方案:stackoverflow.com/a/33698093/4337911

标签: ios xcode image target launch-screen


【解决方案1】:

我遇到了同样的问题,终于解决了这个问题:(我现在使用的是 Xcode 11.3)

  • 从项目导航器中选择您的目标并选择目标的“All”或“Customized”设置
  • 转到构建设置->资产目录编译器
  • 更改资产目录启动图像集名称的值

或者

  • 从项目导航器中选择您的目标
  • 搜索“Launch Image”并在“Asset Catalog Compiler”部分更改 LaunchImage 名称。

如果未显示新的启动屏幕,请尝试删除您的应用并重新安装。

另外,请确保目标的常规设置中的启动屏幕文件选项为空白。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-07
    • 2020-01-30
    • 1970-01-01
    • 2013-12-29
    • 2014-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多