我们有一个下载用户内容的应用程序。我们的文件可能很大,通常我们的用户会批量下载。我们的用户在下载时遇到了不同的麻烦。我们想重构整个下载过程并可能使用库。我们希望您对问题和解决方案有所了解。
我们有项目列表,用户可以下载,每个项目由一个文件或多个文件组成(用户不知道这一点)。用户可以通过按下列表中的“下载按钮”来启动项目的下载,并且我们支持并发下载项目。请记住,每个项目可以有多个文件或单个文件。我们还需要单独显示项目下载的进度。我们使用NSURLConnection下载自iOS 4以来开发的文件。
我们可以在哪个解决方案中确保满足我们的所有需求?我们如何实现这一目标?
答案 0 :(得分:1)
好吧,它可以通过使用NSUrlSession(NSURLSessionDataTask,NSURLSessionDownloadTask)简单地实现 - 它将解决所有下载问题(快速下载(并发下载),恢复,暂停,取消等多个线程),包括后台下载。它还支持完成块,这有助于文件完整性检查。
要检查Internet连接以暂停或恢复下载,可以使用Reachability库。
如果您希望使用第三方库,我强烈建议您使用AFNetWorking(可以通过此库完成所有要求) - > https://github.com/AFNetworking/AFNetworking
此外,本教程可以帮助您满足您的需求 - http://www.appcoda.com/background-transfer-service-ios7/