Ios WKWebView会话已过期

Ios WKWebView会话已过期,ios,wkwebview,Ios,Wkwebview,我有一个可以在普通网页上运行的URL,但是嵌入在WKWebView中,我总是会让错误会话过期。是否有办法在此WKWebView上启用cookie?您可以从响应中保存cookie - (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponseP

我有一个可以在普通网页上运行的URL,但是嵌入在WKWebView中,我总是会让错误会话过期。是否有办法在此WKWebView上启用cookie?

您可以从响应中保存cookie

- (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler {
NSDictionary *headers = [(NSHTTPURLResponse *)navigationResponse.response allHeaderFields];
    if ([headers objectForKey:@"Set-Cookie"] != nil) {
        _cookie = [headers objectForKey:@"Set-Cookie"];
    }
    decisionHandler(WKNavigationResponsePolicyAllow);
}
并在请求中设置cookie

_request = [[NSMutableURLRequest alloc] initWithURL:url];
[_request setValue:_cookie forHTTPHeaderField:@"Cookie"];
[_webView loadRequest:_request];

默认情况下启用cookie。您的网站是否需要javascript,您是否启用了javascript?您可以在mac上使用Safari的页面检查器检查Cookie。