根据苹果先前的规定,今年四月之后,所有APP必须使用Launchscreen.storyboard来加载启动图,废弃LaunchImage.然而在替换过程中,发现Launchscreen.storyboard有个坑:
在iOS13及以上系统环境下,X系列以上机型(我验证的是iOS13.3,iPhoneX),更新Launchscreen.storyboard上的控件相关属性(比如label.text,或者图片),再次启动时启动图不会被更新。
经过调研,该问题主要是由于X系列以上iOS13系统以上,启动图会被缓存到以下路径:Library/SplashBoard/Snapshots,并且升级时不会被删除。所以可以通过手动删除该路径下的缓存以暂时解决
NSString *path = [[kAppLibraryPath() stringByAppendingPathComponent:@"SplashBoard"] stringByAppendingPathComponent:@"Snapshots"];
NSError *error;
[[NSFileManager defaultManager] removeItemAtPath:path error:&error];
kAppLibraryPath()就是获取当前APPLibrary路径的函数,就不贴了。大家可以验证一下。