如何删除UIWebView的所有cookie?

在我的应用程序中,我有一个用于login的加载linkedin auth页面的UIWebview 。 用户login时,cookie会保存到应用程序中。

我的应用程序有一个与linkedinlogin无关的注销button。 所以当用户点击这个button时,他从应用程序中注销。 我希望这个注销将从应用程序清除他的linkedin cookies,以便用户将完全注销。

根据这个问题 ,你可以浏览“Cookie Jar”中的每个cookie并删除它们,如下所示:

 NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; for (NSHTTPCookie *cookie in [storage cookies]) { [storage deleteCookie:cookie]; } [[NSUserDefaults standardUserDefaults] synchronize]; 

只是想添加一些关于这方面的信息。

OS X 10.9 / iOS 7及更高版本中,您可以使用-resetWithCompletionHandler:从sharedSession中清除整个应用程序的Cookie和caching等:

清空所有的Cookie,caching和凭证存储,删除磁盘文件,将正在进行的下载刷新到磁盘,并确保将来的请求在新套接字上发生。

 [[NSURLSession sharedSession] resetWithCompletionHandler:^{ // Do something once it's done. }]; 

使用deleteCookie:for-In循环听起来像在枚举一个集合给我时正在修改 。 (不知道,可能是一个坏主意?)

您可以在WebView的html中创build一个函数,清理cookie。

如果您只需要完成一次清理工作就可以使用Titanium事件触发此function,只有在应用程序启动时才能执行。