我有一个iOS应用程序,我需要每周下载超过60-70个视频,每个大小3-8MB。 问题是,如何下载这些视频? 我将视频和网址列表存储在数据库中。
可能的解决方案:
使用UIBackgroundTaskIdentifier
,在应用启动后立即致电beginBackgroundTaskWithExpirationHandler
。此任务将下载一个视频
在endBackgroundTask
我会将该特定视频标记为已下载
这里有疑虑,我可以开始多个UIBackgroundTaskIdentifier
吗?
我应该从哪里开始呢?在AppDelegate?特定的控制器?
如果我在特定的控制器中启动它,在viewDidLoad()
如果应用程序退出会发生什么?
请指导我或提供替代解决方案。 感谢
答案 0 :(得分:5)
使用AFNetworking
ASIHTTPRequest
为deprecated
。
参考AFNetworking source链接。
另请参阅afnetworking-downloading-multiple-files链接和Does AFNetworking have backgrounding support链接。
编辑:开始在AppDelegate
检查AFDownloadRequestOperation是否有可恢复的下载。
参考afnetworking-pause-resume-downloading-big-files using AFDownloadRequestOperation链接。
答案 1 :(得分:2)
您可以在后台下载ASIHTTPRequest的多个文件。请参阅文档here。
请注意ASIHTTPRequest
已不再有效,因此您可以使用AFNetworking
。
AFNetworking
是适用于iOS和Mac OS的令人愉快的网络库. It's built on top of
NSURLConnection,
NSOperation, and other familiar
基础技术。它采用模块化架构,设计精良,功能丰富,使用起来非常愉快。
找到SDK here。