如何在 iOS 中下载多个背景视频?
Posted
技术标签:
【中文标题】如何在 iOS 中下载多个背景视频?【英文标题】:How to multiple background video downloads in iOS? 【发布时间】:2012-11-19 08:50:47 【问题描述】:我有一个 ios 应用程序,我需要每周下载超过 60-70 个视频,每个视频大小为 3-8MB。 问题是,我如何下载这些视频? 我将视频和网址列表存储在数据库中。
可能的解决方案:
使用UIBackgroundTaskIdentifier
,应用启动后立即致电beginBackgroundTaskWithExpirationHandler
。此任务将下载一个视频。
在endBackgroundTask
中,我会将该特定视频标记为已下载。
这里的问题是,我可以启动多个UIBackgroundTaskIdentifier
吗?
我应该从哪里开始?在 AppDelegate 中?特定的控制器?
如果我在特定控制器中启动它,在viewDidLoad()
上,如果应用退出会发生什么?
请指导我或提供替代解决方案。 谢谢
【问题讨论】:
解决方案 A 听起来不错,那么您的解决方案 B 是什么?有解决方案 B,对吧? 【参考方案1】:使用AFNetworking
,因为ASIHTTPRequest
是deprecated
。
请参阅AFNetworking source 链接。
另请参阅afnetworking-downloading-multiple-files 链接和Does AFNetworking have backgrounding support 链接。
EDIT:在AppDelegate
开始下载
检查AFDownloadRequestOperation 以获取可恢复下载。
参考afnetworking-pause-resume-downloading-big-files using AFDownloadRequestOperation链接。
【讨论】:
谢谢回复,我也想知道,这个函数在哪里调用?在 AppDelegate 中还是在特定控制器中?另外,如果应用程序在下载完成之前退出会发生什么?谢谢 太棒了,我快到了,最后一个问题?我必须下载多个文件,所以我要做的是有一个 for 循环并开始一个接一个地下载每个文件,使用上述解决方案之一,有什么问题或任何替代解决方案?再次感谢【参考方案2】:您可以在后台使用ASIHTTPRequest 下载多个文件。请参阅文档here。
请注意ASIHTTPRequest
不再有效,因此您可以使用AFNetworking
。
AFNetworking
是一个令人愉快的 iOS 和 Mac OS 网络库. It's built on top of
NSURLConnection,
NSOperation, and other familiar
Foundation technologies`。它采用模块化架构,带有精心设计、功能丰富的 API,使用起来很愉快。
找到 SDK here。
【讨论】:
以上是关于如何在 iOS 中下载多个背景视频?的主要内容,如果未能解决你的问题,请参考以下文章