我如何在iPhone上编程清除浏览器缓存?

6

我正在为我的iOS basecamp客户端应用使用新的Basecamp API。我希望用户能够注销并切换帐户。但是,我无法这样做,因为每次请求授权时都会使用存储在浏览器缓存中的帐户凭据。

我发现我需要清除浏览器缓存才能实现这一点。如何清除浏览器缓存?


你是如何进行身份验证的? - Analog File
1个回答

10
[[NSURLCache sharedURLCache] removeAllCachedResponses];

之后,您可以在UIWebView中删除任何相关的cookie:

for(NSHTTPCookie *cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) {

    if([[cookie domain] isEqualToString:someNSStringUrlDomain]) {

        [[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
    }
}

@shyambhat,它只能在应用程序中使用UIWebView还是也可以在移动Safari中使用? - Hemang
非常感谢你的解决方案,Romit :) - InspiredCoder
1
在我的情况下不起作用。我正在开发一个应用程序,需要获取Outlook用户的所有电子邮件。成功登录后,我可以获取所有电子邮件列表。但是当我尝试使用不同的用户登录时,它显示第一个用户的数据。由于这个问题,无法使用不同的用户登录。 - Protocol

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接