2010-03-04 94 views
2

我正在運行Post調用URL並登錄到系統。這是工作,但登錄後,我試圖找回餅乾 - 但是當我這樣做:如何銷燬NSHTTPCookies?

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

我得到的「有多少餅乾:0」的響應

的問題是當我關閉應用程序然後重新打開時,它將使用我之前登錄的信息進行連接。

這是怎麼回事?爲什麼它告訴我有零餅乾?我怎樣才能擺脫這些餅乾?

回答

4

看看你能不能找到並刪除它們是這樣的:

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