Latest 1.0.3
Homepage https://github.com/iTofu/LCDownloadManager
License MIT
Platforms ios 7.0, requires ARC
Dependencies AFNetworking
Authors

Travis
CocoaPods
CocoaPods
CocoaPods
LeoDev

一个简单易用的的下载助手。依赖于 AFN,实现断点续传,采取 Block 回调下载进度、文件大小、下载是否完成等。

In me the tiger sniffs the rose.

心有猛虎,细嗅蔷薇。

致谢 AFNetworking

基于 AFNetworking 2.x

⚠️ 由于 iOS9 和 AFN 的变动,以及某些方面的考虑不周,该库将会抽空重写,不建议继续集成到公司项目,请慎用!

前言 Foreword

一个用来处理下载的库,基于 AFN,实现了好几个东西,时间有限暂不一一说明,具体看代码。

代码 Code

  • 导入方法:

    • 方法一:CocoaPods 导入:pod 'LCDownloadManager'
    • 方法二:把 LCDownloadManager 文件夹 (在 Demo 中) 拖到你的项目中。
  • 在相应位置导入头文件: #import "LCDownloadManager.h"

  • 调用下面的方法即可:

    // 当前下载任务
    AFHTTPRequestOperation *operation1 = nil;
    
    // 下载(提供了类方法和实例方法,根据使用习惯调用)
    operation1 = [LCDownloadManager downloadFileWithURLString:@"http://mw2.dwstatic.com/2/8/1528/133366-99-1436362095.mp4" cachePath:@"demo1.mp4" progress:^(CGFloat progress, CGFloat totalMBRead, CGFloat totalMBExpectedToRead) {
    
      // totalMBRead 和 totalMBExpectedToRead 单位是MB
      NSLog(@"Task1 -> progress: %.2f -> download: %fMB -> all: %fMB", progress, totalMBRead, totalMBExpectedToRead);
    
    } success:^(AFHTTPRequestOperation *operation, id responseObject) {
    
      NSLog(@"Task1 -> Download finish");
    
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    
      if (error.code == -999) NSLog(@"Task1 -> Maybe you pause download.");
    
      NSLog(@"Task1 -> %@", error);
    }];
    
    // 暂停(提供了类方法和实例方法,根据使用习惯调用)
    [LCDownloadManager pauseWithOperation:operation1];
  • iOS9 HTTP 不能正常使用的解决办法 (By isteven)
    1. Info.plist 中添加 NSAppTransportSecurity,类型 Dictionary
    2. NSAppTransportSecurity 下添加 NSAllowsArbitraryLoads,类型 Boolean,值设为 YES

更新日志 Update Logs

V 1.0.3 (2016.04.05)

  • 更新 CocoaPods 源地址。

V 1.0.1 (2015.11.10)

  • 添加对 CocoaPods 的支持:pod 'LCDownloadManager'

  • Demo 中添加演示如何防止用户重复点击下载,后续抽时间在库中实现。

V 1.0.0 (2015.07.10)

  • 修复一个重要 BUG。这个 BUG 导致多任务下载时,不能正常暂停对应任务。

  • 提供类方法和实例方法,根据使用习惯调用。

联系 Support

授权 License

本项目采用 MIT license 开源,你可以利用采用该协议的代码做任何事情,只需要继续继承 MIT 协议即可。

Latest podspec

{
    "name": "LCDownloadManager",
    "version": "1.0.3",
    "summary": "A simple download helper, resume broken transfer support. Support: http://LeoDev.me",
    "description": "A simple download helper, you can resume broken transfer.nIt dependent on AFN(https://github.com/AFNetworking/AFNetworking) 2.x.",
    "homepage": "https://github.com/iTofu/LCDownloadManager",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "Leo": "[email protected]"
    },
    "social_media_url": "http://LeoDev.me",
    "platforms": {
        "ios": "7.0"
    },
    "source": {
        "git": "https://github.com/iTofu/LCDownloadManager.git",
        "tag": "1.0.3"
    },
    "source_files": "LCDownloadManager/*",
    "requires_arc": true,
    "dependencies": {
        "AFNetworking": [
            "~> 2.0"
        ]
    }
}

Pin It on Pinterest

Share This