我想启用WKWebView
的cookie,以便如果用户登录gmail或解决WKWebView
中的Recaptcha,则不应要求它再次登录gmail或解决Recaptcha。
我还想获取这些cookie,以便可以将这些cookie传递到其他屏幕上的WKWebView
的其他实例。
我正在使用以下代码获取Cookie,但它返回的Cookie计数为0。
[dataStore.httpCookieStore getAllCookies:^(NSArray *cookies) {
[self->settings setCookies:cookies];
[[NSNotificationCenter defaultCenter] postNotificationName:@"browserShouldReload" object:nil];
[self.navigationController popViewControllerAnimated:YES];
}];
请让我如何实现这一目标。
最佳答案
要管理应用程序上下文的Cookie,请使用
HTTPCookieStorage共享实例
获取所有cookie:
HTTPCookieStorage.shared.cookies
如果存在,它将把所有cookie放入HTTPCookie数组中。
您也可以获取特定网址的Cookie
HTTPCookieStorage.shared.cookies(for: "https://www.gmail.com")
如果您愿意,也可以从所需日期删除所有cookie
HTTPCookieStorage.shared.removeCookies(since: Date.distantPast)
还有很多其他与
[HTTPCookie]?
对象有关的东西有关更多信息,请参见Apple开发者文档中的HTTPCookieStorage。