我的iOS应用使用NSURLSessionConfiguration,NSURLSession,NSURLSessionDownloadTask等下载我们的服务器从数据库中即时产生的xml文件。一切工作正常与下载,直到我尝试从一个特定的帐户下载更大的文件。我们的服务器在为此帐户提供xml之前必须做很多工作。换句话说,在服务器实际吐出所请求的xml之前,会有一些重大的等待。对于这个最大的帐户,即使服务器成功处理数据并将其发送到客户端,iOS客户端也不会收到数据。为什么我的NSURLSessionDownloadTask下载无法到达我的客户端?
测试时,我们发现了一些奇特:
- 我们不能下载相同的XML任何Safari浏览器(台式机或iOS)
- 我们可以下载使用Chrome的XML在桌面上
- 我们可以使用命令行
- 在我们的iOS应用上的卷曲下载XML,它不能下载的设备上或在模拟器中XML
我启动了timeoutIntervalForRequest和timeoutIntervalForResource。它本身不是“超时”的。但是肯定的是,在Apple的网络堆栈中似乎不允许服务器长时间等待XML生成。为什么Chrome和curl没有问题,但Safari和我的iOS代码呢?所以,我对这里发生的事情感到有些不知所措。
这是传统的服务器代码,将来会更改为JSON和更快的类,所以我不需要任何“更改服务器代码”的答案。
对我而言有什么想法?提前致谢。
我也试过AFNetworking和卷曲,他们都在项目中失败。但是我可以在终端上运行相同的卷曲并且它可以工作。 – Erick