后台会话中的NSURLSessionDataTask
我想做一个空的POST请求,并阅读响应头,而我的iOS应用程序在后台。 查看文档,明确指出上传和下载任务在后台支持,但有两个问题:
- 我不需要上传内容,所以我不想创build一个空文件来使用。
- 我需要获取标题,所以下载任务不提供必要的委托callback。
这留给我一个NSURLSessionDataTask
, 文档指出:
注意:在iOS 8和OS X 10.10之前,后台会话不支持数据任务。
但是, 另一个文档页面以相同的标题(背景传输注意事项)指出:
只支持上传和下载任务(没有数据任务)。
哪个文档页面是正确的? 在后台会话中是否支持NSURLSessionDataTasks 没有数据上传?
请参阅WWDC 2014video基础networking中的新function ,大约49分钟英寸。底线是,您现在可以在后台会话中执行数据任务,但只有在应用程序正在运行时才能使用。 如果应用程序被暂停或终止,则无法执行数据任务,但在接收到响应时可将其转换为下载任务。 (FWIW,我不觉得特别有用的背景数据任务,只能在应用程序仍在运行时工作。)
我不知道为什么你担心下载VS数据任务。 这让我觉得你可以启动一个下载任务,然后在didFinishDownloadingToURL
中查看downloadTask.response
。
说了我不清楚你更广泛的意图是什么。 如果你想ping你的服务器(例如,看看数据是否可以下载),你通常会使用后台获取。
- 使用堆分析显示内存地址,而不是代码行。 如何确定导致堆增长的原因?
- 带有由string的第一个字母创build的部分的NSFetchedResultsController
- 为什么Microsoft Azure(或一般的Swift)无法更新变量以在表查询后返回?
- 在一个可能的iOS7应用程序中评分和审查?
- 双核ARM7是否在内核之间提供caching一致性?
- 我可以如何使网页浏览器的本机应用程序的URL与url后备?
- 在Swift 2.2.1中替换c样式for循环
- 使用ARC,是不是每个线程都有一个自动释放池是致命的?
- 将数据从TableViewController传递到XIB文件没有Segues Swift 3