我们的应用程序使用 Cocoa WebView 登录到各种类型的 SSO 基础设施。对于注销或切换用户,我需要从 WebView 中删除 cookie - 为此我执行以下操作
NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSArray *allCookies = [cookies cookies];
for(NSHTTPCookie *cookie in allCookies) {
NSLog(@"found a cookie %@", cookie.domain);
[cookies deleteCookie:cookie];
}
这种方法似乎只适用于持久 cookie,对于内存 cookie(当用户关闭浏览器时会话消失),它没有效果。我已经厌倦了删除 WebView 并重新创建注销/登录,但 cookie/会话仍然存在。目前我需要关闭应用程序并重新启动以删除会话,这是不可接受的。
有谁知道如何删除这个cookie?