iOS9 WKWebView清除快取方法

2021-07-27 14:38:03 字數 1911 閱讀 5895

自ios8以來新出的wkwebview,大大優化了uiwebview的記憶體飆公升問題,使得開發者迫不及待的用它來替換掉uiwebview,ios8剛出,作者我就趕緊把專案裡的webview都替換成wkwebview了,然而....當我替換完後發現...我去!wkwebview並沒有清除快取的功能,即使使用了以下**:

wkwebview內的快取,依舊沒有清除掉,該有的cookie還有,該有測cache還是存在!無果,最終還是淪落使用uiwebview的下場~~~!

然而我們等到了ios9!!!沒錯!wkwebview的快取清除api出來了!**如下:

這是刪除所有快取和cookie的

nsset *websitedatatypes = [wkwebsitedatastore allwebsitedatatypes];

date from

nsdate *datefrom = [nsdate datewithtimeintervalsince1970:0];

execute

[[wkwebsitedatastore defaultdatastore] removedataoftypes:websitedatatypes modifiedsince:datefrom completionhandler:^];

當然,你也可以選擇只刪除部分

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:^];

types是乙個陣列,可以放進陣列的值為:

/*

wkwebsitedatatypediskcache,

wkwebsitedatatypememorycache,

wkwebsitedatatypelocalstorage,

wkwebsitedatatypecookies,

wkwebsitedatatypesessionstorage,

wkwebsitedatatypeindexeddbdatabases,

wkwebsitedatatypewebsqldatabases

*/

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

(最後ps:wkwebview清除快取只能ios9使用,低於ios9執行會崩潰哦!所以,為了適配ios7和ios8,還是要做版本判斷,相信wkwebview取代uiwebview是指日可待的!)

**:

WKWebView 清除快取的方法

概述 ios7.0只有uiwebview,而ios8.0是有wkwebview,但8.0的wkwebview沒有刪除快取方法。ios9.0之後就開始支援啦。所以使用時候一定要適配ios9.0以上 適用場景 當我們的前端修改網頁上的某一些標籤或增加內容時候,需要最新的頁面,然而wk本身的快取機制會把網...

iOS開發 WKWebView快取清理

wkwebview清除快取只能ios9使用,低於ios9執行會崩潰哦!所以,為了適配ios7和ios8,還是要做版本判斷 if uidevice currentdevice systemversion intvalue 9.0 nsarray types wkwebsitedatatypememor...

iOS 開發 WKWebView快取處理的問題

wkwebview使用中遇到的問題 1.關於快取的問題 因為使用了wkwebview,後端的策劃人員換圖,ios端沒有更新,然後google了好久,最終算是解決了這個問題。首先,載入第乙個頁面。urlstr 設定快取的請求策略和超時時間 nsurlrequest urlreuqest nsurlre...