我正在尝试在
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提供布尔值,而不是字符串.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。