iOS9WKWebView清除緩存

自iOS8以來新出的WKWebView,大大優(yōu)化了UIWebView的內(nèi)存飆升問題,使得開發(fā)者迫不及待的用它來替換掉UIWebView,iOS8剛出,作者我就趕緊把項目里的webView都替換成WKWebView了,然而....當(dāng)我替換完后發(fā)現(xiàn)...我去!WKWebView并沒有清除緩存的功能,即使使用了以下代碼:

NSHTTPCookie *cookie;

NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];

for (cookie in [storage cookies])

{

[storage deleteCookie:cookie];

}

NSURLCache * cache = [NSURLCache sharedURLCache];

[cache removeAllCachedResponses];

[cache setDiskCapacity:0];

[cache setMemoryCapacity:0];

WKWebView內(nèi)的緩存,依舊沒有清除掉,該有的Cookie還有,該有測cache還是存在!弄得小編我不是一般的郁悶,google,stackoverflow, 無果,最終還是淪落版本回退的下場~~~!

然而我們等到了iOS9?。?!沒錯!WKWebView的緩存清除API出來了!代碼如下:

這是刪除所有緩存和cookie的

NSSet *websiteDataTypes = [WKWebsiteDataStore allWebsiteDataTypes];

//// Date from

NSDate *dateFrom = [NSDate dateWithTimeIntervalSince1970:0];

//// Execute

[[WKWebsiteDataStore defaultDataStore] removeDataOfTypes:websiteDataTypes modifiedSince:dateFrom completionHandler:^{

// Done

}];

當(dāng)然,你也可以選擇只刪除部分

NSSet *websiteDataTypes

= [NSSet setWithArray:types];

//// All kinds of data

//NSSet *websiteDataTypes = [WKWebsiteDataStore allWebsiteDataTypes];

//// Date from

NSDate *dateFrom = [NSDate dateWithTimeIntervalSince1970:0];

//// Execute

[[WKWebsiteDataStore defaultDataStore] removeDataOfTypes:websiteDataTypes modifiedSince:dateFrom completionHandler:^{

// Done

}];

types是一個數(shù)組,可以放進數(shù)組的值為:

/*

WKWebsiteDataTypeDiskCache,

WKWebsiteDataTypeOfflineWebApplicationCache,

WKWebsiteDataTypeMemoryCache,

WKWebsiteDataTypeLocalStorage,

WKWebsiteDataTypeCookies,

WKWebsiteDataTypeSessionStorage,

WKWebsiteDataTypeIndexedDBDatabases,

WKWebsiteDataTypeWebSQLDatabases

*/

這樣你就可以按你自己要求清除些什么啦!

(最后PS:WKWebView清除緩存只能iOS9使用,低于iOS9運行會崩潰哦!所以,為了適配iOS7和iOS8,還是要做版本判斷,相信WKWebView取代UIWebView是指日可待的?。?/p>

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

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

  • 對于iOS8之后新推出的WKWebView還是有顯著的有點相對于傳統(tǒng)的UIWebView; 但是對于一些網(wǎng)頁的緩存...
    丂一刀閱讀 19,940評論 5 4
  • UIWebView 之痛 開發(fā)App的過程中,常常會遇到在App內(nèi)部加載網(wǎng)頁,通常用UIWebView加載。而這個...
    zyl04401閱讀 16,226評論 46 157
  • UIWebView 之痛 開發(fā)App的過程中,常常會遇到在App內(nèi)部加載網(wǎng)頁,通常用UIWebView加載。而這個...
    Style_mao閱讀 1,483評論 1 5
  • 轉(zhuǎn)載自: http://www.itdecent.cn/p/90a90bd13aac WKWebView從入門到趟...
    F麥子閱讀 683評論 0 3
  • 現(xiàn)在很多的合作關(guān)系都是你多掙一分,我少掙一分的零和談判模式,當(dāng)然也不能排除有這樣“雙贏談判”模式存在的。 雙贏談判...
    王朋彥閱讀 366評論 0 0

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