iOS 14 启动屏幕情节提要不在 iOS 14 台设备上显示图像

iOS 14 Launch Screen storyboard doesn't display images on iOS 14 devices

我有一个相当简单的启动画面,带有背景图像(纵横比填充)和一些使用自动布局布置的文本和内容。

只要您针对 iOS 14 设备或模拟器,使用 Xcode 11.7 或 Xcode 12 构建时也会发生同样的事情。

如果启动屏幕情节提要中有图像,则启动屏幕显示为纯黑色,并且 none 组件出现在屏幕上。如果我将图像源重命名为无效图像源,则会出现除图像之外的所有组件。

我曾尝试将图像移出资产目录,但没有成功。我已经尝试使用新的 iOS 14 初始屏幕 info.plist 选项,但无法复制我需要的设计,而且文档说故事板启动屏幕仍将受支持,所以我无法理解这一点出来了。

还有其他人看到了这个并且有幸修复了它吗?我已经尝试了我能想到的一切!堆栈上唯一的其他类似问题是 here 但含糊不清并且可能无关

以下是我为因设计限制而无法使用新启动屏幕 API 的其他人解决此问题的方法:

  1. 使用 Xcode11

    构建
  2. 将启动屏幕中使用的所有图像转换为 PNG

  3. 重命名目录中的图像资源并更新 情节提要中的引用(这很重要!)

  4. 一开始就调用这个清除闪屏缓存 didFinishLaunching(仅在调试模式下!):

  @try {
        [[NSFileManager defaultManager] removeItemAtPath:[NSHomeDirectory() stringByAppendingString:@"/Library/SplashBoard"] error:&error];
  } @catch (NSException *exception) {
    NSLog(@"Failed to delete launch screen cache: %@", error);
  }

在那之后,我的启动画面在 iOS 14 和之前按预期工作。