ios – Swift – NSHTTPCookie是零

前端之家收集整理的这篇文章主要介绍了ios – Swift – NSHTTPCookie是零前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在 Swift中编写一些cookie,这样当我显示webview时,它将能够读取这些cookie并做出适当的反应.我找到了很多关于如何创建cookie和阅读Apple文档的例子,但我似乎无法获得有效的NSHTTPCookie对象.总是零.

这是我的代码

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!)
}

我的cookie变量是零.我尝试了很多属性的组合,包括NSHTTPCookieOriginURL和NSHTTPCookieDomain,有和没有NSHTTPCookieSecure,甚至没有NSHTTPCookieExpires.永远没有.

有没有人有任何想法我做错了什么?

解决方法

我认为问题是你想要使用NSHTTTPCookieDomain,而不是NSHTTPCookieOriginURL.

你可以尝试这样的属性

var cookieProps = [
        NSHTTPCookieDomain: baseHost,NSHTTPCookieExpires: NSDate(timeIntervalSinceNow: oneYearInSeconds)
    ]

如果未向构造函数提供有效属性,则将获得null值.您应该为NSHTTPCookieSecure提供布尔值,而不是字符串.

猜你在找的iOS相关文章