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

2023-02-11  本文已影响0人  宇宙无敌大强子

有时候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缓存成功");
       }
    }
}

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

上一篇 下一篇

猜你喜欢

热点阅读