WKWebView
可以管理自己的cookie WKHTTPCookieStorage
,独立于NSHTTPCookieStorage
。如何将 cookie 从 同步WKHTTPCookieStore
到NSHTTPCookieStorage
.
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];
}
}];
}];
}
这是将cookie从同步到的正确方法WKWebView
吗NSHTTPCookieStorage
?