如何清除 iOS APP 的开启屏幕缓存
发布时间:2021-12-08 10:35:28 所属栏目:苹果资讯 来源:互联网
导读:每当我在我的 iOS 应用程序中修改了 LaunchScreen.storyboad 中的某些内容时,我都会遇到一个问题: 系统会缓存启动图像,即使删除了该应用程序,它实际上也很难清除原来的缓存。 有时我修改了 LaunchScreen.storyboad,删除应用程序并重新启动,它显示了新的
|
每当我在我的 iOS 应用程序中修改了 LaunchScreen.storyboad 中的某些内容时,我都会遇到一个问题: 系统会缓存启动图像,即使删除了该应用程序,它实际上也很难清除原来的缓存。 有时我修改了 LaunchScreen.storyboad,删除应用程序并重新启动,它显示了新的 LaunchScreen.storyboad,但 LaunchScreen.storyboad 中引用的任何图片都不会显示,从而使启动屏显得不正常。 今天,我在应用程序的沙盒中进行了一些挖掘,发现该 Library 文件夹中有一个名为 SplashBoard 的文件夹,该文件夹是启动屏缓存的存储位置。 因此,要完全清除应用程序的启动屏幕缓存,您所需要做的就是在应用程序内部运行以下代码(已将该代码扩展到 UIApplication 的中): import UIKit public extension UIApplication { func clearLaunchScreenCache() { do { try FileManager.default.removeItem(atPath: NSHomeDirectory()+"/Library/SplashBoard") } catch { print("Failed to delete launch screen cache: (error)") } } } 在启动屏开发过程中,您可以将其放在应用程序初始化代码中,然后在不修改启动屏时将其禁用。 这个技巧在启动屏出问题时为我节省了很多时间,希望也能为您节省一些时间。 使用 UIApplication.shared.clearLaunchScreenCache() 文章提到的缓存目录在沙盒下如下图所示: OC 代码,创建一个 UIApplication 的 Category #import <UIKit/UIKit.h> @interface UIApplication (LaunchScreen) - (void)clearLaunchScreenCache; @end #import "UIApplication+LaunchScreen.h" @implementation UIApplication (LaunchScreen) - (void)clearLaunchScreenCache { NSError *error; [NSFileManager.defaultManager removeItemAtPath:[NSString stringWithFormat:@"%@/Library/SplashBoard",NSHomeDirectory()] error:&error]; if (error) { NSLog(@"Failed to delete launch screen cache: %@",error); } } @end OC使用方法 #import "UIApplication+LaunchScreen.h" [UIApplication.sharedApplication clearLaunchScreenCache]; (编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 仅限Apple Store!苹果新添线上下单 线下取货服务
- iPhone 9或采用后置三镜头 增强AR影像
- 刘海屏逃不掉!三款新iPhone前面板曝光:屏占比惊人
- 2022年发 iPhone SE 3曝出:6.06寸屏 升级为双摄
- 各版本iPhone 7支持网络制式 各版本iPhone 7 Plus支持网络制
- 最安全的iOS也被攻克,iPhone新漏洞曝光,苹果承认无法修补
- 卖得太好?曝苹果追加2000万台iPhone 14 Pro系列订单
- 不仅是解锁苹果 iOS 15.4 Beta 预览版 Face ID 还将支持戴口
- 英格兰教会正在考虑通过Apple Pay来募集捐款!
- iPhone XS手机遭遇尴尬Bug:熄屏充电无效 暂时无解
