xcode11 - iOS 14 启动屏幕 Storyboard 不会在 iOS 14 设备上显示图像

标签 xcode11 ios14 xcode12

我有一个相当简单的闪屏,带有背景图像(纵横填充)和一些文本和自动布局的东西。
只要您以 iOS 14 设备或模拟器为目标,使用 Xcode 11.7 或 Xcode 12 构建时就会发生同样的事情。
如果启动屏幕 Storyboard中有图像,则启动屏幕显示为纯黑色,并且屏幕上不显示任何组件。如果我将图像源重命名为无效的图像源,则会出现除图像之外的所有组件。
我尝试将图像从 Assets 目录中移出,但没有成功。我曾尝试使用新的 iOS 14 初始屏幕 info.plist 选项,但无法复制我需要的设计,而且文档说 Storyboard启动屏幕仍将受支持,所以我无法弄清楚。
其他任何人都看到了这个并且有任何运气修复它吗?我已经尝试了所有我能想到的!堆栈上唯一的其他类似问题是 here但含糊不清,可能无关

最佳答案

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

  • 使用 Xcode 11 构建
  • 将启动屏幕中使用的任何图像转换为 PNG
  • 重命名目录中的图像 Assets 并更新
    Storyboard中的引用也是如此(这很重要!)
  • 通过在开始时调用它来清除启动屏幕缓存
    didFinishLaunching (仅在 Debug模式下!):
  •   @try {
            [[NSFileManager defaultManager] removeItemAtPath:[NSHomeDirectory() stringByAppendingString:@"/Library/SplashBoard"] error:&error];
      } @catch (NSException *exception) {
        NSLog(@"Failed to delete launch screen cache: %@", error);
      }
    
    之后,我的启动画面按预期在 iOS 14 及更早版本上运行。

    关于xcode11 - iOS 14 启动屏幕 Storyboard 不会在 iOS 14 设备上显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64016331/

    相关文章:

    json - ObservedObject,派生自Json,不加载到Picker,而是加载到List。在 SwiftUI 中,Xcode 11

    xcode11 - 自动更新 MacOS 10.15.2 后,由于安装附加组件失败,Xcode 无法启动

    ios - 显示一些 View ,仅适用于 iOS 14、SwiftUI

    swiftui - 读取和格式化日期时遇到问题

    ios - Xcode 12 问题 - 找不到目标 'FrameworkName' 的模块 'arm64-apple-ios-simulator';找到 : x86_64-apple-ios-simulator, x86_64

    xcode - 如何在新更新的 Xcode 12 中显示 View 控件?

    swift - 无法运行项目导致EXC_BAD_ACCESS

    ios - 如何从函数内部获取文本字段的文本?

    ios - 在 ios 14 中,文本字段边框样式无法正常工作

    Xcode 12 不显示所有搜索结果