如何销毁NSHTTPCookies?

问题描述:

我正在运行Post调用URL并登录到系统。这是工作,但登录后,我试图找回饼干 - 但是当我这样做:如何销毁NSHTTPCookies?

NSArray *allCookies = [NSHTTPCookie cookiesWithResponseHeaderFields:[response allHeaderFields] forURL:[NSURL URLWithString:mywebsite"]]; 
NSLog(@"How many Cookies: %d", allCookies.count); 

我得到的“有多少饼干:0”的响应

的问题是当我关闭应用程序然后重新打开时,它将使用我之前登录的信息进行连接。

这是怎么回事?为什么它告诉我有零饼干?我怎样才能摆脱这些饼干?

看看你能不能找到并删除它们是这样的:

NSHTTPCookieStorage * sharedCookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; 
NSArray * cookies = [sharedCookieStorage cookies]; 
for (NSHTTPCookie * cookie in cookies){ 
    NSLog(@"%@",cookie.domain); 
    if ([cookie.domain rangeOfString:@"yourdomain"].location != NSNotFound){ 
      NSLog(@"deleting"); 
      [sharedCookieStorage deleteCookie:cookie]; 
    } 
} 
+0

这工作。 IF声明似乎没有取代任何东西,所以我只是删除它 - 任何可能的去除IF的后果? – Chris 2010-03-04 15:23:27

+0

它将删除所有共享的cookie。请记住,cookies是跨应用程序共享的。 – 2010-03-04 16:38:44

+0

它们不是跨应用程序共享的,它们仅适用于您的应用程序 – Rudiger 2010-06-25 01:12:50