我有一个相当简单的启动屏幕,带有背景图像(方面填充(和一些自动布局的文本和内容。
只要你的目标是iOS 14设备或模拟器,用Xcode 11.7或Xcode 12构建也会发生同样的事情。
如果启动屏幕情节提要中有图像,则启动屏幕将显示为纯黑色,并且屏幕上不会显示任何组件。如果将图像源重命名为无效的,则会显示除图像之外的所有组件。
我曾尝试将图像从资产目录中移出,但没有成功。我尝试过使用新的iOS 14启动屏幕info.plist选项,但无法复制我需要的设计,加上文档说故事板启动屏幕仍将受到支持,所以我无法解决这个问题。
其他人看到了这个并有幸修复它吗?我想的都试过了!堆栈上唯一其他类似的问题在这里,但很模糊,可能与无关
以下是我如何为其他由于设计限制而无法使用新启动屏幕API的用户解决此问题的方法:
-
使用Xcode 11 构建
-
将启动屏幕中使用的任何图像转换为PNGs
-
重命名目录中的图像资源,并更新故事板中的参考资料(这很重要!(
-
通过在开始时调用此来清除启动屏幕缓存
didFinishLaunching
的(仅在调试模式下!(:
@try {
[[NSFileManager defaultManager] removeItemAtPath:[NSHomeDirectory() stringByAppendingString:@"/Library/SplashBoard"] error:&error];
} @catch (NSException *exception) {
NSLog(@"Failed to delete launch screen cache: %@", error);
}
在那之后,我的启动屏幕可以在iOS 14和之前的版本上正常工作。