Sto cercando di scrivere un paio di cookie in Swift in modo tale che quando visualizzo una webview, sarà in grado di leggere quei cookie e reagire in modo appropriato. Ho trovato molti esempi su come creare il cookie e leggere i documenti Apple, ma non riesco a ottenere un oggetto NSHTTPCookie valido. È sempre zero.Swift - NSHTTPCookie è nil
Ecco il mio codice:
let baseHost = "domain.com"
let oneYearInSeconds = NSTimeInterval(60 * 60 * 24 * 365)
func setCookie(key: String, value: AnyObject) {
var cookieProps = [
NSHTTPCookieOriginURL: baseHost,
NSHTTPCookiePath: "/",
NSHTTPCookieName: key,
NSHTTPCookieValue: value,
NSHTTPCookieSecure: "TRUE",
NSHTTPCookieExpires: NSDate(timeIntervalSinceNow: oneYearInSeconds)
]
var cookie = NSHTTPCookie(properties: cookieProps)
// This line fails due to the nil cookie
NSHTTPCookieStorage.sharedHTTPCookieStorage().setCookie(cookie!)
}
mio variabile cookie
è nil
. Ho provato molte combinazioni delle proprietà compreso avere sia NSHTTPCookieOriginURL
e NSHTTPCookieDomain
, con e senza NSHTTPCookieSecure
e anche senza NSHTTPCookieExpires
. Sempre nil
.
Qualcuno ha qualche idea su cosa sto facendo male?
Wow. Ero sicuro di averlo già provato ma ovviamente non l'avevo fatto. Ha funzionato! Devo aspettare 8 minuti prima di poter accettare la tua risposta. Tornerò a farlo più tardi. – ShatyUT
FYI, il codice sorgente per NSHTTPCookieSecure dice che dovrebbe essere "TRUE" o "FALSE": "Una stringa che indica se il cookie deve essere trasmesso solo su canali protetti. Il valore di stringa deve essere "TRUE" o "FALSE". L'impostazione predefinita è "FALSE". '. Ho visto un'altra posizione che diceva QUALSIASI valore implicito vero. – ShatyUT