将WKWebView Cookie同步到NSHTTPCookieStorage

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将WKWebView Cookie同步到NSHTTPCookieStorage相关的知识,希望对你有一定的参考价值。

qazxsw poi可以在qazxsw poi中管理自己的cookie,与WKWebView独立。如何将cookie从WKHTTPCookieStorage同步到NSHTTPCookieStorage

我的目标是将cookie与WKHTTPCookieStoreNSHTTPCookieStorage同步。

我尝试用实现观察者方法WKHTTPCookieStore来同步cookie。

NSHTTPCookieStorage

这是将cookie从WKHTTPCookieStoreObserver同步到- (void)cookiesDidChangeInCookieStore:(WKHTTPCookieStore *)cookieStore { [cookieStore getAllCookies:^(NSArray<NSHTTPCookie *> *array) { NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; NSArray *nsHttpCookies = cookieStorage.cookies; //add new Cookie from wkWebView [array enumerateObjectsUsingBlock:^(NSHTTPCookie *cookie, NSUInteger idx, BOOL *stop) { if(![nsHttpCookies containsObject:cookie]){ [cookieStorage setCookie:cookie]; } }]; //add old Cookie from wkWebView [nsHttpCookies enumerateObjectsUsingBlock:^(NSHTTPCookie *cookie, NSUInteger idx, BOOL *stop) { if(![array containsObject:cookie]){ [cookieStorage deleteCookie:cookie]; } }]; }]; } 的正确方法吗?

答案

正如Ben在评论中回答的那样,你需要从响应头中提取cookie并在WKWebView中设置它们。

斯威夫特4:

NSHTTPCookieStorage

Objective-C的:

HTTPCookieStorage

以上是关于将WKWebView Cookie同步到NSHTTPCookieStorage的主要内容,如果未能解决你的问题,请参考以下文章

Swift 4 WKWebView cookie 获取和删除同步问题

iOS WKWebView学习总结

iOS原生与H5交互WKWebView

wkwebview免登录,配置cookie,免登陆

我可以设置 WKWebView 使用的 cookie 吗?

iOS开发WKWebView Cookie的读取与写入,与UIWebView的Cookie共享