如何从WKWebView启用和获取cookie?

时间:2019-05-05 10:00:03

标签: ios objective-c cookies wkwebview

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

请让我来实现这个目标。

1 个答案:

答案 0 :(得分:0)

要管理应用程序上下文的Cookie,请使用

HTTPCookieStorage共享实例

获取所有cookie:

HTTPCookieStorage.shared.cookies

如果存在,它将所有cookie放入HTTPCookie数组[HTTPCookie]?


您还可以获取特定网址的Cookie

HTTPCookieStorage.shared.cookies(for: "https://www.gmail.com")

如果您愿意,也可以从所需的日期删除所有cookie

 HTTPCookieStorage.shared.removeCookies(since: Date.distantPast)

还有许多其他HTTPCookieStorage.shared对象


有关更多信息,请参阅Apple开发者文档中的HTTPCookieStorage