아이폰

webview cookie 저장 및 불러오기

민트소프트 2017. 5. 1. 12:48


webview cookie 저장 및 불러오기


extension AppDelegate{


    func applicationDidBecomeActive(_ application: UIApplication) {

        //쿠키 저장

        self.loadCookie();

    }

  

    func applicationDidEnterBackground(_ application: UIApplication) {        

        //쿠키 저장

        self.saveCookie();

    }


    func saveCookie(){

        let cookieJar: HTTPCookieStorage = HTTPCookieStorage.shared

        let data: NSData = NSKeyedArchiver.archivedData(withRootObject: cookieJar.cookies as Any) as NSData

        let ud: UserDefaults = UserDefaults.standard

        ud.set(data, forKey: "cookie")

    }

    

    func loadCookie(){

        let ud: UserDefaults = UserDefaults.standard

        let data: NSData? = ud.object(forKey: "cookie") as? NSData

        if let cookie = data {

            let datas: NSArray? = NSKeyedUnarchiver.unarchiveObject(with: cookie as Data) as? NSArray

            if let cookies = datas {

                for c in cookies as! [HTTPCookie] {

                    HTTPCookieStorage.shared.setCookie(c)

                }

            }

        }

    }

    

}