(iOS)后台运行下载任务

Posted

技术标签:

【中文标题】(iOS)后台运行下载任务【英文标题】:(iOS)Running download task in background 【发布时间】:2017-05-20 10:35:55 【问题描述】:

嗨,如果我在 ios 中使用 NSUrlsession backgroundSessionConfiguration,我可以无限运行下载任务(比如 1 小时)。还是会在 3 分钟后被杀死?

【问题讨论】:

【参考方案1】:

是和不是。您可以使用 NSURLSession(或 URLSession,在 Swift 3 中调用它)将下载设置为在后台运行。

我已经有一段时间没有使用它了,但这是我记得的:

当您这样做时,系统会为您接管管理下载。您的应用程序可以在前台、后台或根本不运行,并且下载仍在继续。如果下载完成后您的应用程序不再运行,您的应用程序将重新启动。您需要在您的应用程序委托中实现 application:handleEventsForBackgroundURLSession:completionHandler: 方法。有关在您的应用未运行时下载完成时如何处理的说明,请参阅有关该方法的文档。

因为系统接管了管理后台下载的工作,它不会让您的应用在后台保持活跃。它遵循与正常相同的背景规则。 (如果用户切换应用程序,它会很快暂停,之后可以随时终止。)

【讨论】:

好吧,为什么投反对票?对于投反对票的人,如果我的答案在某种程度上缺乏,请发表评论解释它有什么问题?我可以接受建设性的批评,但默不作声的否决似乎很刻薄。

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

关于ios中后台长时间下载任务的实现与走过的坑

ios开发视频播放后台下载功能实现 :1,ios播放视频 ,包含基于AVPlayer播放器,2,实现下载,iOS后台下载(多任务同时下载,单任务下载,下载进度,下载百分比,文件大小,下载状态)(真机调

NSURLSession,数据任务转换为下载任务后,后台无法下载

当应用程序进入后台时,在前台执行的长时间运行的任务被挂起

谈一谈iOS开发后台下载

谈一谈iOS开发后台下载