0

我在使用 NSURLSession 登录到使用 cookie 记录成功身份验证的网站的 iOS 应用程序上遇到问题。

使用 defaultSessionConfiguration() 我没有问题。(当应用程序在后台并通过远程推送消息触发时,它甚至可以工作。)

当我将会话配置为使用 backgroundSessionConfigurationWithIdentifier() 时,我可以进行身份​​验证,但后续下载不存在相应的 cookie。

应用在前台和后台时使用backgroundSession失败。

因此,影响 cookie 的默认值和背景之间肯定存在差异。两种配置都记录为使用共享 cookie 存储。

有人对此行为有解释和/或解决方法吗?

4

1 回答 1

0

这有几个原因。其中之一是因为您尚未在 .plist 中启用后台获取设置。另一个是需要在整个应用程序中保持带有标识符的会话,这就是为什么您的 cookie 不会出现在后续下载中的一个原因,因为某些东西正在被切换。

defaultSessionConfiguration按照您的预期工作并且您已经习惯了,但是backgroundSessionConfiguration完全不同,您需要设置一些东西。

我建议通读这篇文章以获取有关它有何不同以及您可以做什么的一些信息:https ://medium.com/swift-programming/learn-nsurlsession-using-swift-part-2-background-download-863426842e21# .vejklegsp

我希望这是有帮助的!

于 2016-03-27T13:49:16.873 回答