使用 sessionOnly:False 设置 cookie

Noa*_*oah 5 cookies http swift

有没有办法在 Swift 中手动设置 cookie,使其在会话结束时不会过期?文档sessionOnly应该默认为 false 并且可以使用该属性进行设置discard,但它似乎对我不起作用。我试过了:

import Foundation


let cookie = HTTPCookie(properties: [
    .domain: ".google.com",
    .path: "/",
    .name: "foo",
    .value: "bar",
    .discard: "FALSE"
])!


HTTPCookieStorage.shared.setCookie(cookie)

let cookies = HTTPCookieStorage.shared.cookies(for: URL(string: "https://google.com")!)

print(cookies)
// Optional([<NSHTTPCookie version:0 name:"foo" value:"bar" expiresDate:(null) created:2016-11-23 16:00:37 +0000 sessionOnly:TRUE domain:".google.com" partition:"none" path:"/" isSecure:FALSE>])
Run Code Online (Sandbox Code Playgroud)

但如图所示,生成的 cookiesessionOnly的值为 true。

小智 -1

(static let drop: HTTPCookiePropertyKey = "FALSE") 应该根据 Apple 文档工作。