Swift'de bir çift çerez yazmaya çalışıyorum, böylece bir web görüntülemesi görüntülediğimde, bu çerezleri okuyabilecek ve uygun şekilde tepki verebilecektir. Çerezin nasıl oluşturulacağına ve Apple belgelerini okuyacağına dair birçok örnek buldum ancak geçerli bir NSHTTPCookie nesnesi almıyorum. Her zaman sıfırdır.Swift - NSHTTPCookie nil
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!)
}
Benim cookie
değişken nil
geçerli:
İşte benim kod. Hem NSHTTPCookieOriginURL
hem de NSHTTPCookieDomain
, NSHTTPCookieSecure
ve NSHTTPCookieExpires
olmadan da dahil olmak üzere özelliklerin birçok kombinasyonunu denedim. Her zaman nil
.
Yanlış yaptığım herhangi bir fikri olan var mı?
Vay. Şunu denedim ki zaten denedim ama belli ki yapmadım. İşe yaradı! Cevabını kabul etmeden önce 8 dakika beklemek zorundayım. Bunu yapmak için geri döneceğim. – ShatyUT
FYI, NSHTTPCookieSecure için kaynak kodu "TRUE" veya "FALSE" olması gerektiğini söylüyor: 'Çerezin yalnızca güvenli kanallar üzerinden iletilip iletilmemesi gerektiğini belirten bir dize. Dize değeri "DOĞRU" veya "YANLIŞ" olmalıdır. Varsayılan "FALSE". HERHANGİ bir değerin doğru olduğunu söyleyen başka bir yer gördüm. – ShatyUT