首页 > 代码库 > 清除WKWebView的缓存
清除WKWebView的缓存
1 OC写法: swift写法再下下面。
2
3 清除WKWebView的缓存,让H5页面一刷新就更新至最新的页面
4
8
9 要区分iOS9.0和8.0两种
10
11 - (void)deleteWebCache {
12
13
14
15 if ([[UIDevice currentDevice].systemVersion floatValue] >= 9.0) {
16
17 NSSet *websiteDataTypes
18
19 = [NSSet setWithArray:@[
20
21 WKWebsiteDataTypeDiskCache,
22
23 //WKWebsiteDataTypeOfflineWebApplicationCache,
24
25 WKWebsiteDataTypeMemoryCache,
26
27 //WKWebsiteDataTypeLocalStorage,
28
29 //WKWebsiteDataTypeCookies,
30
31 //WKWebsiteDataTypeSessionStorage,
32
33 //WKWebsiteDataTypeIndexedDBDatabases,
34
35 //WKWebsiteDataTypeWebSQLDatabases
36
37 ]];
38
39 //// All kinds of data
40
41 //NSSet *websiteDataTypes = [WKWebsiteDataStore allWebsiteDataTypes];
42
43 //// Date from
44
45 NSDate *dateFrom = [NSDate dateWithTimeIntervalSince1970:0];
46
47 //// Execute
48
49 [[WKWebsiteDataStore defaultDataStore] removeDataOfTypes:websiteDataTypes modifiedSince:dateFrom completionHandler:^{
50
51 // Done
52
53 }];
54
55
56
57 } else {
58
59
60
61 NSString *libraryPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];
62
63 NSString *cookiesFolderPath = [libraryPath stringByAppendingString:@"/Cookies"];
64
65 NSError *errors;
66
67 [[NSFileManager defaultManager] removeItemAtPath:cookiesFolderPath error:&errors];
68
69
70
71 }
72
73 }
74
75
76
77
78
79 swift:
80
81 // MARK: - 清空缓存
82
83 func ClearCache() {
84
85
86
87 let dateFrom: NSDate = NSDate.init(timeIntervalSince1970: 0)
88
89
90
91 if #available(iOS 9.0, *) {
92
93 let websiteDataTypes: NSSet = WKWebsiteDataStore.allWebsiteDataTypes()
94
95 WKWebsiteDataStore.defaultDataStore().removeDataOfTypes(websiteDataTypes as! Set<String>, modifiedSince: dateFrom) {
96
97 print("清空缓存完成")
98
99 }
100
101 } else {
102
103 let libraryPath = NSSearchPathForDirectoriesInDomains(.LibraryDirectory, .UserDomainMask, true)[0]
104
105 let cookiesFolderPath = libraryPath.stringByAppendingString("/Cookies")
106
107 let errors: NSError
108
109 try? NSFileManager.defaultManager().removeItemAtPath(cookiesFolderPath)
110
111 }
112
113 }
清除WKWebView的缓存
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。