ZZDownloadCenter 1.0.0

ZZDownloadCenter 1.0.0

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最新发布2017 年 7 月

October-zhuo 维护。



  • 作者:
  • zhuo

为了让 iOS 开发者在 Objective-C 中以安全、简便的方式完成下载任务。

##介绍 这是一个用 OC 实现的下载框架。用户传入需要下载资源的 URL,该框架就会自行在异步线程进行下载,下载完成后以 block 回调的方式将资源所在的沙盒地址返回给用户。如果下载过程中出现错误,错误也会以回调的形式返回给用户。另外,该框架是通过单独创建下载 session,并且使用 backgroundSessionConfigurationWithIdentifier: 配置 session。即使 APP 被切换到后台,下载任务也依然能够运行。最后,该框架会在下载前查询本地是否已经存在要下载的资源,如果有就直接返回资源的本地路径,避免多次重复下载。 ##目录介绍 该项目主要有两部分组成:ZZDownloadCenterDemo包括下载框架和演示 demo;NodeForLoad是用 nodeJS 实现的后台程序,主要目的是配合下载 demo 完成下载框架的测试。 ##使用方法 ###测试框架

  1. 打开终端,切换至NodeForLoad目录,输入node app.js即可在本机上开启后台服务。
  2. 此时访问https://:9000/index,就可以上传文件,这些上传的文件就是供 ZZDownloadCenter 框架下载的文件。
  3. 打开ZZDownloadCenterDemo中的ZZDownloadCenterDemo.xcworkspace就可以看到在 web 端上传的文件列表,点击进入就可以测试下载框架。

###使用框架

  • pod ‘ZZDownloadCenter’
  • 在项目的APPDelegate.m中,粘贴以下代码
    NSURLSession *session = [ZZDownloadSession backgroundSession];
    NSLog(@"%@",session);
    [[ZZDownloadSessionHelper sharedHelper] cacheCompletionHandler:completionHandler withID:identifier];
}
  • 在需要进行下载任务的地方调用下载方法,如下
 [[ZZDownloadCenter defaultCenter] downloadWithURL:[NSURL URLWithString:self.urlLabel.text] configuration:nil progres:^(float progress) {
        NSLog(@"%f",progress);
    } completion:^(NSURL *localURL, NSError *error) {
        if (error) {
            NSLog(@"download error -=-=-=--=-:%@",error);
        }else{
            NSLog(@"Where amazing happens! %@",localURL.absoluteString);
        }
    }];