我有一个UIWebView,我不希望它存储cookie,所以在加载webview之前我做:
NSArray* cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]; for (NSHTTPCookie *cookie in cookies) { [[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie]; }
检查cookie的数量为0,因此它们都被删除.但是当我转到stackoverflow时,它仍然会识别我的Google帐户并将我登录.这是怎么发生的?我虽然它与饼干一起工作?
我不得不处理完全相同的问题,我找到了两种方法来处理这个问题.我首先注意到cookie(有时)设置为奇怪的时间(奇怪的行为,尤其是ios 4.0).
用户在网页浏览后立即删除Cookie通常无法获得预期的结果.
然后,我集成了一个持久的手动标志,该标志在"注销"(也就是清除所有cookie /删除其他用户数据)操作上设置为True.在下次登录时(又名基于用户登录的操作),我再次清除了cookie(就像你在代码中所做的那样).
后来我发现,听NSHTTPCookieManagerCookiesChangedNotification
,然后删除cookie工作得非常好.
希望我能帮忙.
请尝试更改Cookie接受政策:
[NSHTTPCookieStorage setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyNever];