首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >删除cookies

删除cookies
EN

Stack Overflow用户
提问于 2011-09-27 17:43:58
回答 5查看 8.9K关注 0票数 5

如何在UIWebView中删除cookies?这段代码:

代码语言:javascript
运行
复制
NSArray* cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
for (NSHTTPCookie *cookie in cookies) {
 [cookies deleteCookie:cookie];
}

删除cookies,但当我重新启动应用程序时,NSHTTPCookieStorage中仍有相同的cookies。有时这段代码可以工作,但我想让它工作everytime.How来解决这个问题?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-09-27 18:29:55

尝试如下所示:

代码语言:javascript
运行
复制
NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage];
        NSArray* facebookCookies = [cookies cookiesForURL:
                                    [NSURL URLWithString:@"http://login.facebook.com"]];
        for (NSHTTPCookie* cookie in facebookCookies) {
            [cookies deleteCookie:cookie];
        }
票数 7
EN

Stack Overflow用户

发布于 2012-10-21 22:50:21

这对我很有效:

代码语言:javascript
运行
复制
NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage];

NSArray *allCookies = [cookies cookies];

for(NSHTTPCookie *cookie in allCookies) {
    if([[cookie domain] rangeOfString:@"facebook.com"].location != NSNotFound) {
        [cookies deleteCookie:cookie];
    }
}
票数 7
EN

Stack Overflow用户

发布于 2014-05-07 02:47:36

由于某种奇怪的原因,删除单个cookie并不总是有效的。要真正删除cookie,您需要存储非特定cookie,然后重新加载它们,然后遍历所有cookie并将其删除,如下所示

代码语言:javascript
运行
复制
NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
   if (cookies != nil && cookies.count > 0) {
       for (NSHTTPCookie *cookie in cookies) {
           [[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
       }
       [[NSUserDefaults standardUserDefaults] synchronize];
   }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7567129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档