当前位置: 首页 > 科技观察

如何清除iOSAPP启动画面缓存

时间:2023-03-18 11:36:43 科技观察

本文转载自微信公众号《网络开发》,作者魏贤智。转载本文请联系网路发展公众号。简介每当我在我的iOS应用程序中修改LaunchScreen.storyboad中的内容时,我都会遇到一个问题:系统缓存了启动图像,即使应用程序删除了原始缓存,它实际上也很难清除。有时我修改LaunchScreen.storyboad,删除应用程序并重新启动,它会显示新的LaunchScreen.storyboad,但是没有显示LaunchScreen.storyboad中引用的图像,使启动屏幕看起来很奇怪。今天我在应用程序的沙盒中做了一些挖掘,发现在Library文件夹中有一个名为SplashBoard的文件夹,它是存储启动画面缓存的地方。因此,要完全清除您应用程序的启动屏幕缓存,您需要做的就是在您的应用程序中运行以下代码(扩展到UIApplication的):"/Library/SplashBoard")}catch{print("Failedtodeletelaunchscreencache:\(error)")}}}在splashscreen开发过程中,你可以把它放在你的app初始化代码中,然后在不修改splashscreen的时候禁用它。这个技巧在启动画面出现问题时为我节省了很多时间,希望它也能为您节省一些时间。使用UIApplication.shared.clearLaunchScreenCache()文中提到的缓存目录在沙盒下如下图所示:OC代码,创建一个UIApplication类#import@interfaceUIApplication(LaunchScreen)-(void)clearLaunchScreenCache;@end#import"UIApplication+LaunchScreen.h"@implementationUIApplication(LaunchScreen)-(void)clearLaunchScreenCache{NSError*error;[NSFileManager.defaultManagerremoveItemAtPath:[NSStringstringWithFormat:@"%@/Library/SplashBoard",NSHomeDirectory()]error:&error];if(error){NSLog(@"Failedtodeletelaunchscreencache:%@",error);}}@endOC使用方法#import"UIApplication+LaunchScreen.h"[UIApplication.sharedApplicationclearLaunchScreenCache];