iOS 后台网络任务如何运行

Posted

技术标签:

【中文标题】iOS 后台网络任务如何运行【英文标题】:How is running the background network task on iOS 【发布时间】:2015-09-27 02:48:33 【问题描述】:

NSURLSession 提供了在后台运行 URLSessionDidFinishEventsForBackgroundURLSession 的能力,这里是简单的intro

对于网络层,大多数 ios 开发者习惯于在 AFNetworking 或 Alamofire 上构建,这是最流行的基于 iOS URL 加载框架的包装器。

只是想知道后台任务是如何深入运行的,比如一些问题

    如何打开和关闭此功能? 它将运行多长时间? 任何限制,例如内存、时间、安全权限等 需要后台运行能力的常见情况有哪些?

【问题讨论】:

【参考方案1】:

虽然 AFNetworking 和 Alamofire 是在 iOS 上实现网络的最流行的两个库,但它们仍然需要扎实的 URL Loading System 基础知识。我强烈建议您详细阅读该文章。它解释了您发布的许多问题。此外,任何希望使用 AFNetworking 或 Alamofire 的开发人员在尝试使用任一库之前都应充分了解该文档中的概念。

话虽如此,以下是对您问题的一些更直接的答案:

    使用后台会话配置创建 URL 会话 只要你愿意 没有限制,后台任务将一直运行,直到完成或出错 您可能希望在后台运行数百种情况。下载图片、视频、新闻提要、更新等。

【讨论】:

以上是关于iOS 后台网络任务如何运行的主要内容,如果未能解决你的问题,请参考以下文章

iOS后台运行任务

如何在iOS 8中应用程序处于后台状态时连续执行任务

如何在 ios 中永远运行后台服务以同步数据

(iOS)后台运行下载任务

iOS的后台任务

在 iOS 中定期在后台线程中运行任务