我目前正在开发一个应用程序,它必须能够显示需要首先下载的离线视频。
问题是这些视频可能比我可以分配给我的应用程序的内存更大。所以下载的部分必须立即保存,而不是保存在 NSData 对象中。我听到关于 RESTKit 是否应该工作的相互矛盾的故事,而且 ASIHTTPRequest 似乎已被弃用。
我会遵循这个线程的建议,因为它似乎是最好的选择。
我目前正在开发一个应用程序,它必须能够显示需要首先下载的离线视频。
问题是这些视频可能比我可以分配给我的应用程序的内存更大。所以下载的部分必须立即保存,而不是保存在 NSData 对象中。我听到关于 RESTKit 是否应该工作的相互矛盾的故事,而且 ASIHTTPRequest 似乎已被弃用。
我会遵循这个线程的建议,因为它似乎是最好的选择。
考虑使用NSURLConnection
下载视频文件并将数据直接写入文件 ( NSFileHandle
)。
使用此方法的一个优点是,在NSURLConnection
didReceiveData
接收到数据时会不断调用委托方法,因此您可以更新进度条。
查看 AFNetworking 进行网络管理。我不确定他们是否有视频下载,但该框架非常适合我之前下载的图像和其他类型的下载。
在不解释通过块和流处理 HTTP 响应的所有麻烦的情况下,我建议使用AFDownloadRequestOperation。它支持恢复下载并具有显示下载进度的回调。我喜欢它并在我的大多数项目中使用它。
PS 它使用AFNetworking,这是一个用于发出各种 HTTP 请求的出色框架。