我想启用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

10-01 22:45