FabrizioCaldarelli
5/14/2019 - 9:50 AM

iOS WKWebView cookies

- (void)initWebView
{
  // add session cookie to ajax calls
  WKUserContentController* userContentController = 
  WKUserContentController.new;
  WKUserScript * cookieScript = 
          [[WKUserScript alloc]                                    
          initWithSource: [[User sharedInstance] getJavscriptCookieString]                                       
          injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:NO];
  
  
  [userContentController addUserScript:cookieScript];
  
  WKWebViewConfiguration *webViewConfiguration = [[WKWebViewConfiguration alloc] init];
  webViewConfiguration.userContentController = userContentController;
              webViewConfiguration.preferences.javaScriptCanOpenWindowsAutomatically = true;
  
  _wk = [[WKWebView alloc] initWithFrame:self.view.frame configuration:webViewConfiguration];
}

-(NSString*) getJavscriptCookieString {
    return  [NSString stringWithFormat: @"document.cookie = '%@=%@'", [self getSessionName], [self getSessionValue]];
}