在 iPhone 后台下载

Posted

技术标签:

【中文标题】在 iPhone 后台下载【英文标题】:Download in background in iPhone 【发布时间】:2010-08-31 20:29:00 【问题描述】:

是否可以在 iPhone 4 的应用程序处于后台时下载文件?

【问题讨论】:

【参考方案1】:

是的。

从 v1.8 开始在 ASIHTTPRequest 中支持:

http://allseeing-i.com/ASIHTTPRequest/How-to-use#background_downloads_ios

(在http://github.com/pokeb/asi-http-request/commits/backgroundtask 也有一个 v1.7 的实验分支,但它似乎不再存在。)

AFNetworking 也支持它,请参阅Does AFNetworking have backgrounding support?

【讨论】:

那个 URL 给出“那个页面不存在!”,希望是暂时的? @JOM 从 v1.8 开始,该功能是主线的一部分 - 我已经通过文档链接更新了我的答案。 现在有更好的解决方案吗?也许与AFNetworking有关? ASIHTTPRequest 不再可用。 @ShaiMishali 我在我的答案中添加了一个 AFNetworking 链接。 ASIHTTPRequest 仍然可用并且运行良好,但可能不是新项目的好选择。【参考方案2】:

在 iOS 4.x 下,您可以使用 UIApplication beginBackgroundTaskWithExpirationHandler 请求一些后台时间:并且可能在有限的时间内继续下载文件。

有关详细信息,请参阅 Apple 的 document“多任务”后台执行。

【讨论】:

以上是关于在 iPhone 后台下载的主要内容,如果未能解决你的问题,请参考以下文章

Iphone SDK:在 iphone 应用程序的后台发送电子邮件

在后台将数据从 iWatch 发送到 iPhone

如何声明必须在后台运行的 iPhone 应用程序?

iPhone 3G 后台定位应用

iphone - 在后台播放音频流

iPhone 4.0:没有在后台播放音频?