2014-02-07 98 views
2

我爲我的應用程序實現了一個簡單的登錄 - 註銷控制器。我正在使用登錄屏幕的GET請求並繼續獲取secondViewController。在第二個視圖控制器有註銷按鈕,當按下時返回到loginView - 但無論我輸入的字段,我總是進入,直到我關閉應用程序(所以緩存在這裏播放一部分)清除AFNetworking中響應的Cookie 2

有什麼好處清除緩存的方法。我試圖通過在請求開始時通過alloc init NSURLCache來完成該操作,然後設置removeAllCachedResponses,但它沒有任何區別。

其他建議?

回答

14

嘗試,退出時刪除了cookie存儲您的所有Cookie:

NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; 
for (NSHTTPCookie *cookie in [storage cookies]) { 
    [storage deleteCookie:cookie]; 
} 
+0

感謝這一個呼叫 removeAllCachedResponses你,這種方法就像一個魅力與AF2 – EmilDo

+0

這不會刪除其他應用程序的cookie嗎?這是最佳做法嗎? – AnthonyM

+2

您的應用在沙箱中運行,因此您無法訪問其他應用的Cookie。 – andreamazz

0

AFNetwork使用共享NSURLCache可以清除共享高速緩存

[[NSURLCache sharedURLCache] removeAllCachedResponses]; 
+0

我試過這個,但它似乎不工作 - 這真的很奇怪。我把這之前我分配AFHTTPRequestOperationManager,這種做法是錯誤的嗎? – EmilDo

+0

這應該是正確的做法。 – rckoenes

+0

我測試過,@andreamazz的方法工作正常。我真的不知道爲什麼removeAllCachedResponses不適用於AF2,這是AF 1的正確方法。 – EmilDo