当前位置 : 主页 > 手机开发 > ios >

清除WKWebView cookies的方法

来源:互联网 收集:自由互联 发布时间:2021-05-10
在UIWebView下,可以使用 [[NSURLCache sharedURLCache] removeAllCachedResponses];//清除缓存 WKWebView清除cookies的方法(iOS9以上) WKWebsiteDataStore *dateStore = [WKWebsiteDataStore defaultDataStore]; [dateStore fetchData

在UIWebView下,可以使用

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

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

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一下用这种方法:

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

查看cookie

NSHTTPCookie *cookie;
NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (cookie in [cookieJar cookies]) {
  NSLog(@"%@", cookie);
}

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

网友评论