我已经搜索StackOverflow上几乎所有问题的回答我的问题。 我还没有发现任何有用的链接或教程的说法哪种方式是最好的清除特定域的Cookie。 所以,请如果有人可以帮助我。
Answer 1:
我找到自己的解决方案。 如果你想删除你的UIWebView整个饼干做到这一点。
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSHTTPCookie *cookie;
for (cookie in [storage cookies]) {
NSLog(@"%@", cookie); // Print the deleted cookie.
[storage deleteCookie:cookie];
}
[[NSUserDefaults standardUserDefaults] synchronize];
如果要删除特定的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];
}
}
在上面的代码中,我使用站点名称(或)域名与您要删除的cookie现场更换。 你必须知道,每一个域有子域。 如果你在那个地方给gobal域名它不会删除cookie的子域。 对于实例LinkedIn,它有很多子域像in.linkedIn.com,api.linkedIn.com等。如果我给http://www.linkedin.com这是gobal域名它不会删除cookie的子域。
NSHTTPCookie具有域属性,以便用它来获取所有的域名,并使用rangeOfString:NSString的方法获得其中有您的字符串(如LinkedIn)域。 比起做就可以删除将删除所有域的Cookie。
我没有一个帮助我希望至少我的文章会帮助别人的未来。
文章来源: How to clear cookies for specific domain in iOS?