ios – Swift – NSHTTPCookie是零

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

这是我的代码

  1. let baseHost = "domain.com"
  2. let oneYearInSeconds = NSTimeInterval(60 * 60 * 24 * 365)
  3.  
  4. func setCookie(key: String,value: AnyObject) {
  5. var cookieProps = [
  6. NSHTTPCookieOriginURL: baseHost,NSHTTPCookiePath: "/",NSHTTPCookieName: key,NSHTTPCookieValue: value,NSHTTPCookieSecure: "TRUE",NSHTTPCookieExpires: NSDate(timeIntervalSinceNow: oneYearInSeconds)
  7. ]
  8.  
  9. var cookie = NSHTTPCookie(properties: cookieProps)
  10. // This line fails due to the nil cookie
  11. NSHTTPCookieStorage.sharedHTTPCookieStorage().setCookie(cookie!)
  12. }

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

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

解决方法

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

你可以尝试这样的属性

  1. var cookieProps = [
  2. NSHTTPCookieDomain: baseHost,NSHTTPCookieExpires: NSDate(timeIntervalSinceNow: oneYearInSeconds)
  3. ]

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

猜你在找的iOS相关文章