Cocoa touch UIWebView中的Cookies

Cocoa touch UIWebView中的Cookies,cocoa-touch,cookies,uiwebview,ios,Cocoa Touch,Cookies,Uiwebview,Ios,我有一个UIWebView,我不希望它存储cookies,因此在加载webview之前,我会: NSArray* cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]; for (NSHTTPCookie *cookie in cookies) { [[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie]; } 正在检查Cookie

我有一个UIWebView,我不希望它存储cookies,因此在加载webview之前,我会:

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

正在检查Cookie的计数是否为0,以便将其全部删除。但当我进入stackoverflow时,它仍然会识别我的Google帐户并让我登录。这是怎么发生的?我认为它可以处理cookie?

请尝试更改cookie接受策略:

[NSHTTPCookieStorage setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyNever];

我必须处理完全相同的问题,我找到了两种方法来处理这个问题。 我第一次注意到cookies(有时)是在奇怪的时间设置的(特别是在ios 4.0中)

  • 在用户进入网络视图后立即删除cookie通常不会得到预期的结果
然后,我集成了一个持久的手动标志,该标志在“注销”(即清除所有cookie/删除其他用户数据)操作中设置为True。 在下一次登录(又名基于用户登录的操作)时,我再次清除了cookies(与您在代码帖子中所做的相同)

后来我发现,听
NSHTTPCookieManagerCookiesChangedNotification
,然后删除cookie也非常有效


希望我能帮上忙。

使用下面的命令,它就会起作用

   NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
   NSHTTPCookie *cookie;
   for(cookie in [storage cookies])
    {
      NSLog(@"cookie to be deleted:%@", cookie);
      [storage deleteCookie:cookie];
    }
   [[NSUserDefaults standardUserDefaults] synchronize];

这里不要错过最后一行[[NSUserDefaults standardUserDefaults]synchronize];否则您将继续困惑。

问题是这会阻止制作cookies,我想删除现有的cookies。理想情况下,清除所有缓存、cookie、本地存储和其他用户数据。嗨,乔纳森,根据你的问题,我不知道你还想执行什么操作。看起来您正在寻找完全缓存清除-不确定是否可以立即清除。你到底想干什么?为什么需要擦除所有缓存、cookie和本地存储/用户数据?