2017-02-28 9 views
1

クッキーを保存するのに以下のコードがありますが、クッキーは保存されていません。 get cookieコードは、私のクッキーが共有クッキーに存在しないことを示しています。 「設定されたクッキー」は印刷されていますが、「クッキーを取得する」はクッキーを表示していません。私は新しいクッキーを保存することができますが、既存のクッキーを上書きすることはできません。スウィフトクッキーセットは既存のクッキーを上書きできません

func setCookie() { 

    let infoModel = UserInfoManager.getUserInfoModel() 
    if infoModel != nil { 

     let ExpTime = TimeInterval(60 * 60 * 24 * 365) 

     let cookieProps: [HTTPCookiePropertyKey : Any] = [ 

      HTTPCookiePropertyKey.domain: ".mydomain.com", 
      HTTPCookiePropertyKey.path: "/", 
      HTTPCookiePropertyKey.name: "DEV", 
      HTTPCookiePropertyKey.value: infoModel!.userAccessToken!, 
      HTTPCookiePropertyKey.secure: "TRUE", 
      HTTPCookiePropertyKey.expires: NSDate(timeIntervalSinceNow: ExpTime), 
      HTTPCookiePropertyKey.version: "0"     
     ] 

     print("WEB REQUEST ACCESS TOKEN \(infoModel!.userAccessToken!)") 

     if let cookie = HTTPCookie(properties: cookieProps) { 
      HTTPCookieStorage.shared.setCookie(cookie) 

      print("\(cookie)") 

      print("GET COOKIE \(HTTPCookieStorage.shared.cookies)") 

     } 
     else { 
      print("set cookie failed") 
     } 

.... 

} 

答えて

3

最初に上書きしたいクッキーを削除する必要がありました。

let cookieJar = HTTPCookieStorage.shared 

    for cookie in cookieJar.cookies! { 
     if cookie.name == "DEV" { 
      HTTPCookieStorage.shared.deleteCookie(cookie) 
     }    
    } 
関連する問題