这个也是实际中遇到的问题,前端修改后发现再加载页面还是之前未修改的页面,第一反应就是缓存的问题,之前用UIWebView记得是没有这种问题的。现在换了WKWebView还是需要我们来处理的。
直接上代码吧!
- (void)clearWebViewCache{
// 这里的 iOS9Later 包含iOS 9
if (iOS9Later) {
NSSet *type = [NSSet setWithArray:@[WKWebsiteDataTypeDiskCache, WKWebsiteDataTypeMemoryCache]];
NSDate *date = [NSDate date];
[[WKWebsiteDataStore defaultDataStore] removeDataOfTypes:type modifiedSince:date completionHandler:^{}];
}else{
NSString *libPath = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES).firstObject;
NSString *cookiePath = [libPath stringByAppendingString:@"/Cookies"];
[[NSFileManager defaultManager] removeItemAtPath:cookiePath error:nil];
}
}
将此方法放在webView加载URL之前调用即可解决缓存的问题。