2014-02-07 99 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