为什么WKHTTPCookieStore的API-getAllCookies称为完成处理器但没有会话cookie包含

时间:2019-04-28 03:01:45

标签: session-cookies wkwebview ios12 wkhttpcookiestore

WKNavigationResponse不再通过iOS 12中的response.header提供对cookie的访问。

因此,我必须使用新API来获取所有cookie。当我使用getAllCookies:时,有时它不调用completionHandler,有时它调用不包含会话cookie的completionHandler。 在某些情况下,我需要获取会话cookie。

为什么WKHTTPCookieStore的API-getAllCookies不能总是调用completionHandler?为什么有时调用了completionHandler但没有会话cookie呢?

或者,有没有办法获取所有cookie包含WKWebView的会话cookie?

        WKHTTPCookieStore *cookieStore = webView.configuration.websiteDataStore.httpCookieStore;
        [cookieStore getAllCookies:^(NSArray* cookies) {
            // case 1: didn't call this completionHandler
            for (NSHTTPCookie *cookie in cookies) {

                //case 2 called this completionHandler without session cookie contains
            }
        }];

0 个答案:

没有答案