iOS 10 beta NSURLSession请求的cookie已经消失

时间:2016-09-07 17:12:38

标签: ios cookies nsurlsession

我有一个使用NSURLSession来连接服务器以检索数据的APP。在iOS 9中,它运行良好。就在最近iOS即将发布,我升级Xcode并使用iOS 10 Beta SDK ......结果发现HTTP GET请求不包含Cookie会话信息。这使得请求失败。我在这里搜索了iOS 10 beta关于cookie的问题,但没有太多运气。想问一下有没有人经历过这个和任何建议?提前谢谢。

这是我创建NSURLSession的代码

         NSURLSessionConfiguration *urlSessionConfig = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:EP_FETCH];




        _fetchSession = [NSURLSession sessionWithConfiguration:urlSessionConfig
                                                               delegate:self    // we MUST have a delegate for background configurations
                                                          delegateQueue:nil];   // nil means "a random, non-main-queue queue"

更新

已经向Apple提交了一个错误。同时,如果我改变也发现

NSURLSessionConfiguration *urlSessionConfig = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:EP_FETCH];

NSURLSessionConfiguration *urlSessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];

然后cookie返回HTTP请求。所以我不知道它是'NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier'这个api有一些问题。

1 个答案:

答案 0 :(得分:1)

如果有可能这不是您的代码中的错误,请提交错误。任何回归都应该报告给Apple 今天,因为iSO 10距离最终版本只有几天。请提供:

  • 重现问题的最小示例工具。
  • 行为描述。
  • 以前操作系统行为的描述。

考虑将其标记为"安全",因为这会影响设备对网络服务进行身份验证的能力。

至于诊断问题:

  • 尝试将会话配置的HTTPCookieStorage属性明确设置为[NSHTTPCookieStorage sharedHTTPCookieStorage]
  • 在您发起请求之前,请提交断点并确保Cookie已被应用的其他部分存储。
  • 尝试针对iOS 9 SDK进行编译并在iOS 10上运行。这将区分意外的SDK绑定(链接或挂钩)行为差异与普通错误。
  • 添加代码以尝试手动提取cookie并验证它确实存在。
  • 确认没有任何细微错误,例如标记cookie安全,然后通过HTTP发送,cookie域匹配问题,意外重定向等。