我在 Xcode 项目中创建了不同的目标,以便为不同的客户端版本化我的应用程序。 每个客户端使用不同的xcassets,每个目标一个。这样我就可以拥有具有相同名称的不同图像。因此,只需选择目标,就会显示正确的图像。
这适用于我的应用程序中的任何 View 。每当我在不同的目标中运行应用程序时,所有图像都会自动更改。问题是当我的启动屏幕中有图像时。 我为启动屏幕创建了 .xib 文件(每个客户端一个)。
通过选择目标,正确的 .xib 会运行,但它加载的图像始终与基础项目相同。
<小时/>这就是我组织项目的方式,因此不同的目标会自动选择不同的图像:
- Base.xcassets:
- 目标成员(member) = 基础
- image-launch(基础项目启动屏幕)
- 基础项目的其他图像
- Client1.xcassets:
- 目标成员(member) = 客户 1
- image-launch(客户端 1 版本启动屏幕)
- 客户端 1 版本的其他图像
- Client2.xcassets:
- 目标成员(member) = 客户 2
- image-launch(客户端 2 版本启动屏幕)
- 客户端 2 版本的其他图片
当我选择目标时,应加载具有该目标成员身份的所有元素。只有我的启动屏幕从Base.xcassets加载图像启动。
最佳答案
我遇到了同样的问题并最终解决了这个问题:(我现在使用 Xcode 11.3)
- 从项目导航器中选择您的目标,然后选择目标的“全部”或“自定义”设置
- 转至build设置 -> Assets 目录编译器
- 更改 Assets 目录启动图像集名称的值
或者
- 从项目导航器中选择您的目标
- 搜索“Launch Image”并在“Asset Catalog Compiler”部分中更改 LaunchImage 名称。
如果新的启动屏幕未显示,请尝试删除您的应用并重新安装。
此外,请确保目标的常规设置中的启动屏幕文件选项为空。
关于ios - 不同目标的 Xcode 启动图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37531581/