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