如何在 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,因为ASIHTTPRequestdeprecated

请参阅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 ofNSURLConnection,NSOperation, and other familiarFoundation technologies`。它采用模块化架构,带有精心设计、功能丰富的 API,使用起来很愉快。

找到 SDK here。

【讨论】:

以上是关于如何在 iOS 中下载多个背景视频?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 IOS 应用程序中下载 m3u 视频? [关闭]

如何在 iOS 上分享 .avi 视频

如何在 iOS 应用程序中缓冲视频并保存在本地数据库中?

IOS5 - 如何在以编程方式创建的视图中播放视频?

如何提取抖音短视频中的音乐

iOS:从网址下载视频并保存在图库中......?