WKWebView清除緩存只能iOS9使用,低於iOS9運行會崩潰哦!因此,爲了適配iOS7和iOS8,仍是要作版本判斷web
if ([[[UIDevice currentDevice]systemVersion]intValue ] >= 9.0) {
NSArray * types =@[WKWebsiteDataTypeMemoryCache,WKWebsiteDataTypeDiskCache]; // 9.0以後纔有的
NSSet *websiteDataTypes = [NSSet setWithArray:types];
NSDate *dateFrom = [NSDate dateWithTimeIntervalSince1970:0];
[[WKWebsiteDataStore defaultDataStore] removeDataOfTypes:websiteDataTypes modifiedSince:dateFrom completionHandler:^{緩存
}];
}else{
NSString *libraryPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES) objectAtIndex:0];
NSString *cookiesFolderPath = [libraryPath stringByAppendingString:@"/Cookies"];
NSLog(@"%@", cookiesFolderPath);
NSError *errors;
[[NSFileManager defaultManager] removeItemAtPath:cookiesFolderPath error:&errors];cookie
}優化
WKWebView是iOS8以後出現的,相較於UIWebView,WKWebView佔用的內存更小,還有一些其餘的優化。可是若是咱們不去主動清理webView產生的緩存,二者都會存在緩存這個問題。好比說一個網頁改了一些內容,若是不清理緩存,可能很長一段時間咱們都沒辦法看到新的內容,惟一的辦法是卸載重裝。
在加載webView的ViewController的viewDidLoad中實現這些代碼,能夠保證每次加載的webView的內容都是最新的。內存