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

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

NSData *urlData =[NSData dataWithContentsOfURL:urlToRequest]; 

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

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

您应该使用NSURLSession => NSURLSessionDownloadTask api

下面的大文件下载有什么问题

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

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

按照这个很好的教程:

NSURLSession教程: