Tôi đang cố gắng viết một vài cookie trong Swift để khi tôi hiển thị một webview, nó sẽ có thể đọc các cookie đó và phản ứng một cách thích hợp. Tôi tìm thấy nhiều ví dụ về cách tạo cookie và đọc tài liệu của Apple nhưng dường như tôi không thể nhận được đối tượng NSHTTPCookie hợp lệ. Nó luôn luôn là không.Swift - NSHTTPCookie là nil
Dưới đây là mã của tôi:
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!)
}
biến cookie
tôi là nil
. Tôi đã thử nhiều kết hợp thuộc tính bao gồm cả hai số NSHTTPCookieOriginURL
và NSHTTPCookieDomain
, có và không có NSHTTPCookieSecure
và thậm chí không có NSHTTPCookieExpires
. Luôn luôn nil
.
Có ai có ý tưởng gì tôi đang làm sai không?
Wow. Tôi đã SURE Tôi đã cố gắng đó nhưng rõ ràng là tôi đã không. Điều đó đã hiệu quả! Tôi phải đợi 8 phút trước khi tôi có thể chấp nhận câu trả lời của bạn. Tôi sẽ quay lại để làm điều đó sau. – ShatyUT
FYI, mã nguồn cho NSHTTPCookieSecure nói rằng nó phải là "TRUE" hoặc "FALSE": 'Chuỗi chỉ định liệu cookie có được truyền chỉ qua các kênh bảo mật hay không. Giá trị chuỗi phải là "TRUE" hoặc "FALSE". Mặc định là "FALSE". '. Tôi thấy một vị trí khác cho biết BẤT K value giá trị ngụ ý đúng. – ShatyUT