HMCDownloadManager 0.1.0

HMCDownloadManager 0.1.0

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最后发布2017年10月

Chuong Huynh 维护。



  • Chuong M. Huynh



HMCDownloadManager 是一个支持在单个对象中下载多个文件的外套。
通过并发下载多个文件(相同或不同的 URL),我们可以为同时可以下载的最大项目数设置 maximumDownloadItem。我们可以选择背景下载(项目可以在应用程序处于后台时下载)或默认下载管理器。在不同的队列中对每个项目使用回调块。

示例

要运行示例项目,克隆仓库,然后首先从 Example 目录运行 pod install

要求

  • iOS 8.0+
  • Xcode 8.3+

功能

  • 在单个对象内下载多个文件
  • 支持正常和背景下载
  • 下载完成后复制到目标文件
  • 支持暂停、继续、取消下载项目
  • 在中断后自动继续下载文件,而不取消
  • 支持为同一 URL 选择多个回调块
  • 仅写入/读取文件,不使用内存来存储下载项目

安装

HMCDownloadManager 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod 'HMCDownloadManager'

用法

要获取默认下载管理器

HMCDownloadManager *defaultDownload = [HMCDownloadManager sharedDefaultManager];

要获取背景下载管理器

HMCDownloadManager *backgroundDownload = [HMCDownloadManager sharedBackgroundManager];

要编辑默认管理器的下一个数据接收的最大等待时间

defaultDownload.timeoutForRequest = 5.0;

要编辑下载项目的最大生命周期

defaultDownload.timeoutForResource = 3600;
backgroundDownload.timeoutForResource = 3600;

要编辑同时下载的最大项目数

defaultDownload.maximumDownloadItems = 10;

从 URL 开始下载

dispatch_queue_t downloadQueue = dispatch_queue_create("Image Downloader", DISPATCH_QUEUE_SERIAL);
[defaultDownload startDownloadFromURL:url
                             progressBlock:^(NSURL *sourceUrl, NSString *identifier, int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) {
                                 
                                 // Update UI progress
                                 
                             } destination:^NSURL *(NSURL *sourceUrl, NSString *identifier) {
                                 // return destination file
                             } finishBlock:^(NSURL *sourceUrl, NSString *identifier, NSURL *fileLocation, NSError *error) {
                                 
                                 // Update when finished downloading
                             } queue:downloadQueue];

从 URL 暂停下载

[downloadManager pauseDownload:url];

从 URL 重新开始下载

[downloadManager resumeDownload:url];

从 URL 取消下载

[downloadManager cancelDownload:url];

作者

chuonghuynh, [email protected]

许可

HMCDownloadManager 在 MIT 许可下提供。有关更多信息,请参阅 LICENSE 文件。