首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift - NSHTTPCookie是零

Swift - NSHTTPCookie是零
EN

Stack Overflow用户
提问于 2015-05-29 14:46:05
回答 1查看 5.4K关注 0票数 12

我试着用Swift写几个cookie,这样当我显示一个webview时,它就能够读取这些cookie并做出适当的反应。我发现了许多如何创建cookie和读取苹果文档的示例,但我似乎无法获得有效的NSHTTPCookie对象。一直都是零。

这是我的密码:

代码语言:javascript
复制
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变量是nil。我尝试了许多属性的组合,包括NSHTTPCookieOriginURLNSHTTPCookieDomain,有和没有NSHTTPCookieSecure,甚至没有NSHTTPCookieExpires。总是nil

有人知道我做错了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-29 14:50:45

我认为问题在于您想要使用的是NSHTTTPCookieDomain,而不是NSHTTPCookieOriginURL

你能试一下这样的属性吗:

代码语言:javascript
复制
var cookieProps = [
        NSHTTPCookieDomain: baseHost,
        NSHTTPCookiePath: "/",
        NSHTTPCookieName: key,
        NSHTTPCookieValue: value,
        NSHTTPCookieSecure: "TRUE",
        NSHTTPCookieExpires: NSDate(timeIntervalSinceNow: oneYearInSeconds)
    ]

如果不向构造函数提供有效属性,则将获得一个空值。您应该向NSHTTPCookieSecure提供布尔值,而不是字符串。

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30532570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档