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 的其他人解决此问题的方法:
使用 Xcode11
构建
将启动屏幕中使用的所有图像转换为 PNG
重命名目录中的图像资源并更新
情节提要中的引用(这很重要!)
一开始就调用这个清除闪屏缓存
didFinishLaunching
(仅在调试模式下!):
@try {
[[NSFileManager defaultManager] removeItemAtPath:[NSHomeDirectory() stringByAppendingString:@"/Library/SplashBoard"] error:&error];
} @catch (NSException *exception) {
NSLog(@"Failed to delete launch screen cache: %@", error);
}
在那之后,我的启动画面在 iOS 14 和之前按预期工作。
我有一个相当简单的启动画面,带有背景图像(纵横比填充)和一些使用自动布局布置的文本和内容。
只要您针对 iOS 14 设备或模拟器,使用 Xcode 11.7 或 Xcode 12 构建时也会发生同样的事情。
如果启动屏幕情节提要中有图像,则启动屏幕显示为纯黑色,并且 none 组件出现在屏幕上。如果我将图像源重命名为无效图像源,则会出现除图像之外的所有组件。
我曾尝试将图像移出资产目录,但没有成功。我已经尝试使用新的 iOS 14 初始屏幕 info.plist 选项,但无法复制我需要的设计,而且文档说故事板启动屏幕仍将受支持,所以我无法理解这一点出来了。
还有其他人看到了这个并且有幸修复了它吗?我已经尝试了我能想到的一切!堆栈上唯一的其他类似问题是 here 但含糊不清并且可能无关
以下是我为因设计限制而无法使用新启动屏幕 API 的其他人解决此问题的方法:
使用 Xcode11
构建将启动屏幕中使用的所有图像转换为 PNG
重命名目录中的图像资源并更新 情节提要中的引用(这很重要!)
一开始就调用这个清除闪屏缓存
didFinishLaunching
(仅在调试模式下!):
@try {
[[NSFileManager defaultManager] removeItemAtPath:[NSHomeDirectory() stringByAppendingString:@"/Library/SplashBoard"] error:&error];
} @catch (NSException *exception) {
NSLog(@"Failed to delete launch screen cache: %@", error);
}
在那之后,我的启动画面在 iOS 14 和之前按预期工作。