LaunchScreen.storyboard问题之空白或不更新

有时候LaunchScreen在更新了新的启动图后,启动页会变为白的或者还是原来的图。

Apple的机制是对于LaunchScreen.storyboard启动的app,部分机型会缓存一份启动图放在沙盒 /Library/SplashBoard 中,每次启动会优先读取缓存,造成启动图无法及时更新。所以我们要做的是每次启动时读取并清除缓存,重新加载启动图:

- (void)removeLaunchScreenCacheIfNeeded {
   NSString *filePath = [NSString stringWithFormat:@"%@/Library/SplashBoard", NSHomeDirectory()];
   
   if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
    NSError *error = nil;
    [[NSFileManager defaultManager] removeItemAtPath:filePath error:&error];

    if (error) {
         NSLog(@"清除LaunchScreen缓存失败");
       } else {
         NSLog(@"清除LaunchScreen缓存成功");
       }
    }
}

这样就能保证每次的启动图都是最新的了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容