如果在 LaunchScreen.storyboard 上使用该图像,则该图像在更改时不会更新

Image does not update when changed if that image is used on LaunchScreen.storyboard

首先,这个问题与 SO 上的其他类似问题无关,因为这个问题涉及使用 LaunchScreen.storyboard 并且 SO 上提供的解决方案没有解决这个问题。

我在 LaunchScreen.storyboard 中使用图像。我更改了该图像,每次应用程序启动时它都会显示旧图像。我尝试过的事情:

  1. 每次给图片取不同的名字
  2. 删除 DerivedData 内容
  3. 将Assets文件中的图片移到外面
  4. 产品 > 清洁
  5. 从设备中删除该应用程序。
  6. 执行所有 1-4 并退出并重新启动 Xcode。

很棒,但没有任何效果。除了voodoo,我什么都试过了。

上述技术似乎适用于其他地方使用的图像,但不适用于 LaunchScreen.storyboard

使用的图像

我在设备上运行它。

有什么想法吗?

可能的问题是 Springboard 通过包 ID 缓存启动图像。要强制重建,必要的步骤是

  1. 从设备中删除应用程序。
  2. 重启设备。
  3. 安装和 运行 应用程序。

但是,目前似乎确实存在未定义的完全失败案例。如果上述暴力方法失败,请查看此 Radar 文件:UIImageView missing images in Launch Screen on device,它似乎描述了永久缓存失败。在这种情况下,只需更改您的包 ID 并查看是否显示预期的图像即可。