我自己找到了解决方案 如果您希望删除UIWebView中的整个cookie,请执行此操作.
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSHTTPCookie *cookie;
for (cookie in [storage cookies]) {
NSLog(@"%@", cookie); // Print the deleted cookie.
[storage deleteCookie:cookie];
}
[[NSUserDefaults standardUserDefaults] synchronize];
Run Code Online (Sandbox Code Playgroud)
如果您希望删除特定于一个站点或域的cookie,请执行此操作.
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSHTTPCookie *cookie;
for(cookie in [storage cookies]) {
if([[cookie domain] rangeOfString:@"siteName(or)domainName"].location != NSNotFound) {
NSLog(@"cookie to be deleted:%@", cookie);
[storage deleteCookie:cookie];
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我使用了siteName(或)DomainName将其替换为您要删除cookie的站点.您必须知道每个域都有子域.如果您在该地方提供gobal域名,则不会删除子域名的cookie.例如LinkedIn,它有许多子域,如in.linkedIn.com,api.linkedIn.com等.如果我给http://www.linkedin.com这是gobal域名,它不会删除子域名的cookie.
NSHTTPCookie具有域属性,因此使用它来获取所有域名并使用rangeOfString:NSString的方法获取具有String的域(例如linkedin).删除它会删除其所有域的cookie.
我没有人帮助我希望至少我的帖子将来会帮助别人.
| 归档时间: |
|
| 查看次数: |
2985 次 |
| 最近记录: |