본문 바로가기
웹앱(하이브리드앱)

iOS 웹뷰에 쿠키 쓰기

by xavi2019 2021. 1. 15.
var customRequest = URLRequest(url:  url)
// 쿠키 세팅 하기
if let host = url.host {
    setUserCookie(host, "MODE", "APP")
    setUserCookie(host, "DEVICE", "IOS")
    setUserCookie(host, "FCM-TOKEN", Globals.deviceToken )
    setUserCookie(host, "VERSION", Bundle.main.releaseVersionNumber!)
    setUserCookie(host, "BUILDNUMBER", Bundle.main.buildVersionNumber!)
}


// 헤더에 정보 넣기
customRequest.setValue(Globals.deviceToken, forHTTPHeaderField: "FCM-TOKEN" )
customRequest.setValue("APP", forHTTPHeaderField: "MODE" )
customRequest.setValue("IOS", forHTTPHeaderField: "DEVICE" )
customRequest.setValue("VERSION", forHTTPHeaderField: Bundle.main.releaseVersionNumber! )
customRequest.setValue("BUILDNUMBER", forHTTPHeaderField: Bundle.main.buildVersionNumber! )


self.webView.load(customRequest)


// 쿠키 설정하기
func setUserCookie(_ host: String, _ cName: String, _ cValue: String) {

    let cookie = HTTPCookie.init(properties: [
       .domain : host,
       .path   : "/",
       .name   : cName,
       .value  : cValue,
       .expires : Date(timeIntervalSince1970: 4102412399)
    ])
    DispatchQueue.main.async {

        WKWebsiteDataStore.default().httpCookieStore.setCookie(cookie!, completionHandler: {
        // 여러분의 로직을 써도 되고 안써도 되고 

        })
    }

}

댓글