투케이2K

4. (TWOK/LOGIC) [IOS] WkWebview 웹뷰 COOKIE 쿠키 공유 방법 정리 본문

투케이2K 로직정리

4. (TWOK/LOGIC) [IOS] WkWebview 웹뷰 COOKIE 쿠키 공유 방법 정리

투케이2K 2022. 3. 18. 14:54

[로직 정리]

정리 로직 : MOBILE (IOS)

상태 : [IOS] WkWebview 웹뷰 COOKIE 쿠키 공유

 

[설 명]

[IOS]

1. 웹뷰 웹뷰 초기 설정 셋팅 수행 실시 및 로드 하기 (전) 웹뷰 헤더 쪽에 쿠키 삽입 , 웹뷰 로드 수행 실시
  - 쿠키 추가 셋팅 위함 : 웹뷰 WKWebViewConfiguration.websiteDataStore 설정을 >> WKWebsiteDataStore.nonPersistent() 로 설정
  - 헤더 쪽 쿠키 삽입 실시 : URLRequest.addValue("데이터", forHTTPHeaderField: "Cookie")
  - 웹뷰 로드 실시 : webview.load(request)





2. 웹뷰 로드 완료 상태 100 프로가 되면 다시 webview.evaluateJavaScript 를 사용해 쿠키 스토리지에 쿠키 삽입 실시
  - 웹뷰 로드 완료 상태 체크 : override func observeValue
  - 쿠키 문자열 형태 만듦 : document.cookie='쿠키 스트링 데이터'
  - 쿠키 문자열을 자바스크립트 브릿지를 사용해 삽입 실시 : webview.evaluateJavaScript("\(cookies)")





3. webview.evaluateJavaScript 자바스크립트 데이터 전송 성공 및 실패 상태에서 성공한 경우 웹뷰에 저장된 쿠키 목록 확인
  - 웹뷰 저장된 쿠키 목록 확인 : webview.configuration.websiteDataStore.httpCookieStore.getAllCookies





4. 정상적으로 쿠키가 삽입되어 있는 경우 >> 다시 웹뷰 리로드 수행 실시 
  - 웹뷰 리로드 : self.main_webview!.reload()





5. decidePolicyFor 실시간 웹뷰 주소 변경 상태 체크 부분에서 allow 처리 및 정상적으로 쿠키를 가지고 페이지 이동 처리가 되는지 확인
  - 웹뷰 저장된 쿠키 목록 확인 : webview.configuration.websiteDataStore.httpCookieStore.getAllCookies

 


 

반응형
Comments