iOS13---使用lunchScreen.xib清除之前的緩存「二」

一、源起

從2020年以后,蘋(píng)果公司開(kāi)始禁止使用lunchImage.進(jìn)行開(kāi)屏啟動(dòng),這樣的話,對(duì)于從業(yè)者的我們只能選擇通過(guò)使用lunchScreen.xib或者lunch.storyboard.來(lái)展示啟動(dòng)頁(yè)。

二、問(wèn)題

這樣通過(guò)xib來(lái)設(shè)置啟動(dòng)頁(yè)的話,避免不了會(huì)遇到適配的問(wèn)題,這里我們先不聊適配這個(gè)話題。今天要說(shuō)的是緩存的問(wèn)題。 因?yàn)檫@個(gè)啟動(dòng)頁(yè),會(huì)因?yàn)樾枨蠖淖儯踔林苯訐Q成另一套啟動(dòng)圖。當(dāng)我們手動(dòng)在xib中去改動(dòng)這些的時(shí)候,這時(shí)候問(wèn)題便出現(xiàn)了。

三、后果

每當(dāng)我在我的iOS應(yīng)用程序中修改了啟動(dòng)屏幕LaunchScreen.storyboad中的某些內(nèi)容時(shí),我都會(huì)遇到一個(gè)問(wèn)題:系統(tǒng)會(huì)緩存啟動(dòng)圖像,即使刪除了該應(yīng)用程序,它實(shí)際上也很難清除原來(lái)的緩存
有時(shí)我修改了LaunchScreen.storyboad,刪除應(yīng)用程序并重新啟動(dòng),它顯示了新的LaunchScreen.storyboad,但LaunchScreen.storyboad中引用的任何圖像都不會(huì)顯示,從而使啟動(dòng)屏幕顯得不正常。

四、解決方法

今天,我在應(yīng)用程序的容器中進(jìn)行了一些挖掘,發(fā)現(xiàn)該Library文件夾中有一個(gè)名為的文件夾SplashBoard,該文件夾是啟動(dòng)屏幕緩存的存儲(chǔ)位置。
因此,要完全清除應(yīng)用程序的啟動(dòng)屏幕緩存,您所需要做的就是在應(yīng)用程序內(nèi)部運(yùn)行以下代碼(我已將該代碼打包到UIApplication的擴(kuò)展中):

文章提到的緩存目錄在沙盒下如下圖所示:
4982523-f0c2b54480fa5ebc.png

OC代碼,創(chuàng)建一個(gè)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使用方法
在Appdelegete 的didLunch函數(shù)中直接調(diào)用 清楚每次的緩存

#import "UIApplication+LaunchScreen.h"
[UIApplication.sharedApplication clearLaunchScreenCache];

附:【原文參考鏈接】

作者郵件:zhangxmsy@163.com, 有問(wèn)題聯(lián)系。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容