2017-01-05 3 views
0

로그인 페이지를로드하는이 WKWebView가 있는데 로그인이 성공한 후 (양식 제출) 설정된 "iPlanetDirectoryPro"쿠키 (그림 참조)가 있습니다. 그래서, 다른 WKWebView에서 사용하기 위해 저장하려고합니다. 재미있는 점은 "sharedHTTPCookieStorage"에 다른 쿠키가 들어 있지만 "iPlanetDirectoryPro"이 아닌 것입니다. WKWebView에서 쿠키를 얻는 방법

enter image description here

는 지금까지 시도하는 것 :

  1. 만든 공유 였는지를 풀이 처음 WKWebView 나는에 "iPlanetDirectoryPro로"를 사용하기 위해 노력하고있어 하나의 동일한 구성을 사용 .
  2. 는 쿠키를 가져 decidePolicyForNavigationResponse이 대리자 메서드 을 사용 :

    - (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler{ 
    NSHTTPURLResponse *response = (NSHTTPURLResponse *)navigationResponse.response; 
    NSArray *cookies =[NSHTTPCookie cookiesWithResponseHeaderFields:[response allHeaderFields] forURL:response.URL]; 
    
    for (NSHTTPCookie *cookie in cookies) { 
        [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie]; 
    } 
    
    decisionHandler(WKNavigationResponsePolicyAllow); 
    } 
    
  3. 웹보기에 자바 스크립트 명령 document.cookie를 평가.

아이디어가 있으십니까?

답변

-1

어떤 이유로 든 WKWebView와 HTTPCookieStorage가 완벽하게 작동하지 않습니다. 쿠키를 직접 관리해야합니다 (예 : 볼 수 있음) here

관련 문제