gpt4 book ai didi

ios - 使用 WKHTTPCookieStore 删除 cookie

转载 作者:IT王子 更新时间:2023-10-29 05:52:43 26 4
gpt4 key购买 nike

我正在使用新的 WKHTTPCookieStore 类,以便从应用程序的 WKWebViews 中注入(inject)和删除 cookie。

所有 WKWebViews 共享一个公共(public)的 WKWebViewConfiguration,这样它们就可以共享一个公共(public)的 cookie 存储。

使用 add() 方法注入(inject) cookie 效果很好,每个 web View 都可以看到新的 cookie 并将它们与它们的请求一起发送。删除 cookie 似乎是个问题 - 所有 WebView 仍然会看到假定已删除的 cookie,并继续在每个请求中发送它:

let cookieStore = self.webkitConfiguration.websiteDataStore.httpCookieStore
cookieStore.getAllCookies { (cookies) in
for cookie:HTTPCookie in cookies {
if cookie.name == "CookieIWantToDelete" {
cookieStore.delete(cookie, completionHandler: {
self.webView.reload() //Deleted cookie is still sent with this request
})
}
}
}

我可以通过丢弃 WKWebsiteDataStore 中的所有 cookie 来解决这个问题,但这似乎有点矫枉过正。

有什么想法吗?

最佳答案

您需要在使用 URLCache.shared.removeAllCachedResponses() 重新加载之前清除 WKWebView 缓存,例如,或使用 self.webView.reloadFromOrigin() 加载新的数据。

关于ios - 使用 WKHTTPCookieStore 删除 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48114015/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com