清除WKWebView cookies的方法

时间:2022-09-18 18:37:27

在UIWebView下,可以使用

[[NSURLCache sharedURLCache] removeAllCachedResponses];//清除缓存

WKWebView清除cookies的方法(iOS9以上)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
WKWebsiteDataStore *dateStore = [WKWebsiteDataStore defaultDataStore];
  [dateStore fetchDataRecordsOfTypes:[WKWebsiteDataStore allWebsiteDataTypes]
           completionHandler:^(NSArray<WKWebsiteDataRecord *> * __nonnull records) {
             for (WKWebsiteDataRecord *record in records)
             {
//               if ( [record.displayName containsString:@"baidu"]) //取消备注,可以针对某域名清除,否则是全清
//               {
                 [[WKWebsiteDataStore defaultDataStore] removeDataOfTypes:record.dataTypes
                                      forDataRecords:@[record]
                                    completionHandler:^{
                                      NSLog(@"Cookies for %@ deleted successfully",record.displayName);
                                    }];
//               }
             }
           }];

iOS9一下用这种方法:

?
1
2
3
4
NSString *libraryPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *cookiesFolderPath = [libraryPath stringByAppendingString:@"/Cookies"];
NSError *errors;
[[NSFileManager defaultManager] removeItemAtPath:cookiesFolderPath error:&errors];

查看cookie

?
1
2
3
4
5
NSHTTPCookie *cookie;
NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (cookie in [cookieJar cookies]) {
  NSLog(@"%@", cookie);
}

以上这篇清除WKWebView cookies的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。