IOS:哪种是从服务器下载大尺寸文件的最佳方式

时间:2016-06-27 07:20:05

标签: ios

我有一个包含db的 zip文件。当用户第一次打开应用程序时,我需要下载该zip文件。所以我正在使用

NSData *urlData =[NSData dataWithContentsOfURL:urlToRequest];

以GCD模式下载文件。由于它工作正常,我没有得到任何错误。

但是,使用上述方法下载大型文件是否可以,或者我们必须使用NSURLConnection进行大文件下载。请指教。

1 个答案:

答案 0 :(得分:2)

您应该使用NSURLSession => NSURLSessionDownloadTask api

以下大文件下载有什么问题

[NSData dataWithContentsOfURL:urlToRequest];
  • 因为您要下载大文件需要花费大量时间,因此连接中断或其他任何中断的可能性更大,而上次下载的进度无法恢复
  • 如果是大文件,用户应该提供暂停和恢复的功能,上面不支持。
  • 也不支持后台下载
  • 不支持进度状态,这对用户非常重要,以便让他们等待您的应用。

现在,NSURLSession => NSURLSessionDownloadTask支持以上所有内容。

按照这个好教程:

NSURLSession Tutorial: