【问题标题】:What is the default cookieAcceptPolicy什么是默认 cookieAcceptPolicy
【发布时间】:2015-07-16 02:07:25
【问题描述】:

我正在开发一个 iOS SDK,它需要 [NSHTTPCookieStorage sharedHTTPCookieStorage]cookieAcceptPolicyNSHTTPCookieAcceptPolicyAlways,根据文档,这应该是默认值:

默认的 cookie 接受策略是 NSHTTPCookieAcceptPolicyAlways。更改 cookie 策略会影响所有当前使用 cookie 存储运行的应用程序。

我刚刚在 XCode 中创建了一个新的 iOS 项目,但情况似乎并非如此。默认策略是NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain

// this logs "cookieAcceptPolicy 2" (NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain)  
NSLog(@"cookieAcceptPolicy %@", @([NSHTTPCookieStorage sharedHTTPCookieStorage].cookieAcceptPolicy));  

所以问题是

  1. 为什么默认的cookieAcceptPolicyNSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain即使我没改?
  2. sharedHTTPCookieStorage 是否在 iOS 应用程序之间共享?
  3. 应用程序的用户能否通过某些 iPhone 设置更改 cookie 接受策略?
  4. 应用中UIWebViewcookieAcceptPolicy 是什么?

干杯, 一月

【问题讨论】:

  • 不仅如此,而且似乎连改成别的什么都不可能了。 :( 我刚刚创建了自己的 NSHTTPCookieStorage,并尝试将策略更改为 Always。没有抛出错误,但没有更改。

标签: ios objective-c cookies foundation


【解决方案1】:

这些文档非常具有误导性。你需要这样做:

NSHTTPCookieStorage *cs = [NSHTTPCookieStorage sharedHTTPCookieStorage];
[cs setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];

而且它只影响您应用的 cookie 存储,不会影响其他应用。

【讨论】:

  • 所以默认接受策略是 not NSHTTPCookieAcceptPolicyAlways ?
  • 据我所知,它是 8.4 上的 NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain。不确定这是否受到我在 NSURLSession 配置上设置的其他一些设置的影响。
猜你喜欢
  • 2011-08-29
  • 2015-06-09
  • 2015-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多