iOS 中的后台获取和后台传输以在后台下载数据 (JSON)

Posted

技术标签:

【中文标题】iOS 中的后台获取和后台传输以在后台下载数据 (JSON)【英文标题】:Background fetch and background transfers in iOS to download data (JSON) on bakcground 【发布时间】:2014-04-13 19:29:56 【问题描述】:

我正在将我的一个应用程序升级到 ios 7 并考虑尝试新的多任务 API。我计划使用后台获取或静默推送通知来使我的内容保持最新。基本上是一组 JSON 值。我浏览的大部分文档/代码都下载了视频或图片,我有以下问题......

    如果我们使用后台获取或静默推送通知,我们是否需要使用单独的 backgroundSessionConfiguration 下载数据?或者我们可以通过利用现有的 defaultSessionConfiguration 来做到这一点? (因为我可以重复使用现有的方法,而不是使用单独的方法进行后台下载)。

    是否可以使用后台传输来下载文件资产以外的大量数据?

    据我所知,后台后台提取仅允许大约 1 分钟完成任务,是否可以在提取中使用后台传输来延长该时间? (我的意思是,如果我们在该后台获取请求中启动后台传输,应用程序会执行它并完成作业。还是像暂停它一样增量运行它,并在应用再次唤醒时恢复它)。

    李>

【问题讨论】:

【参考方案1】:

NSUrlSession 仅支持后台获取文件。这是您设计中的一个重要考虑因素。

1) 是的,您需要为后台下载创建会话配置。

2) 除非您将数据下载到文件然后读取文件

3) 如果您发现您遇到了时间限制,也可以分块增量地进行后台提取。虽然通常不计算下载所需的时间,但只计算您的处理时间。

【讨论】:

我说“backgroundSessionConfiguration”不支持“NSURLSessionDataTask”,只支持上传或下载任务对吗? 是的,后台会话不支持数据任务

以上是关于iOS 中的后台获取和后台传输以在后台下载数据 (JSON)的主要内容,如果未能解决你的问题,请参考以下文章

在后台下载多个文件(仅限 iOS 7)

iOS - 以固定间隔自动更新数据的后台传输服务

在后台下载数据的同时,从 JSON 中下载数据并存储到 CoreData 和 Display

.NET MVC中使用WebClient在后台下载文件,前台显示进度。

iOS在一分钟内杀死CallKit VoIP应用程序在后台工作

蓝牙后台模式IOS