새소식

iOS/Swift

[iOS] HTTP Cookie

  • -

Swift에서 WKHTTPCookieStore를 사용하여 쿠키를 관리할 수 있다.

WKHTTPCookieStore(Class) : 특정 웹뷰와 관련된 HTTP Cookie를 관리하는 개체


  • 웹페이지의 초기 쿠키를 지정하고 웹 콘텐츠의 쿠키를 관리할 때 사용
  • 예를 들어 사용자가 로그아웃을 할 때 현재 세션에 대한 쿠키를 WKHTTPCookieStore을 이용하여 쿠키를 삭제할 수 있음

 

쿠키 관리

// 저장된 모든 쿠키를 비동기로 가져와 지정된 completionHandler에 전달
func getAllCookies(([HTTPCookie]) -> Void){}

// WKHTTPCookieStore에 쿠키를 추가
func setCookie(HTTPCookie, completionHandler: (() -> Void)?){}

// 지정된 쿠키를 삭제
func delete(HTTPCookie, completionHandler: (() -> Void)?){}

쿠키 저장 허용

// WKHTTPCookieStore가 쿠키 저장을 허용하는지 여부를 나타내는 WKHTTPCookieStore.CookiePolicy를 return
func getCookiePolicy((WKHTTPCookieStore.CookiePolicy) -> Void) {}

// WKHTTPCookieStore에서 쿠키 저장을 허용하는지 여부를 나타내는 CookiePolicy를 설정
func setCookiePolicy(WKHTTPCookieStore.CookiePolicy, completionHandler: (() -> Void)?){}

// WKHTTPCookieStore가 쿠키 저장을 허용하는 지 여부를 나타나는 case가 포함된 enum
enum WKHTTPCookieStore.CookiePolicy{
	case allow // 쿠키 저장을 허용
    case disallow // 쿠키 저장을 허용하지 않음
}

 

WKHTTPCookieStoreObserver

// WKHTTPCookieStore에 Observer 추가
func add(any WKHTTPCookieStoreObserver){}

// WKHTTPCookieStore에 Observer 제거
func remove(any WKHTTPCookieStoreObserver){}

// 웹페이지 쿠키의 변경사항을 모니터링 하는 개체에 채택할 메서드
protocol WKHTTPCookieStoreObserver{
	// WKHTTPCookieStore의 쿠키가 변경되었을 때
	func cookiesDidChange(in: WKHTTPCookieStore)
}

참고

 

HTTP 쿠키 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. HTTP 쿠키(HTTP cookie)란 하이퍼 텍스트의 기록서(HTTP)의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 사용자의 웹 브라우저를 통해 인터넷 사용자

ko.wikipedia.org

 

WKHTTPCookieStore | Apple Developer Documentation

An object that manages the HTTP cookies associated with a particular web view.

developer.apple.com

 

Swift - WKWebView 웹뷰의 Cookie 활용 (getCookies, setCookie, deleteCookie)

https://developer.apple.com/documentation/webkit/wkhttpcookiestore WKHTTPCookieStore | Apple Developer Documentation An object that manages the HTTP cookies associated with a particular web view. developer.apple.com WebKit에는 WKHTTPCookieStore라는게

jkim68888.tistory.com

 

728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.