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 }