当前位置:   article > 正文

iOS 下载器实现-ASDownload

ios 下载器开发

ASDownload是一个提供下载功能的库,返回信息全面,使用简单,提供的功能满足绝大数应用的需求。

github下载地址(包含demo)

基本功能:

该库采用block的方式回调下载进度,下载速度,下载状态,下载时长,下载大小等信息。

特色功能
  • 断点下载
  • 控制同时下载任务数量
  • 回调任务不能下载的原因
  • 杀死进程进度保留,下次继续下载
主要方法介绍
  1. /**
  2. 开启下载任务
  3. @param url 下载地址
  4. @param progressBlock 进度回调
  5. @param stateBlock 状态回调
  6. */
  7. - (ASDownloadTaskState)download:(NSString *)url progress:(ASDownloadingBlock)progressBlock state:(ASDownloadStateBlock)stateBlock;
  8. 复制代码
  1. /**
  2. 同时下载任务数量
  3. 超过最大下载数,任务会等待下载,并依次执行,但是杀死程序后,这些等待的任务将不会依次下载,需要手动调用恢复下载方法
  4. @param maximumConnections 数量(默认没有限制)
  5. */
  6. - (void)setMaximumConnection:(NSInteger)maximumConnections;
  7. 复制代码
  1. /**
  2. 恢复下载任务 (不可用于创建任务。暂停、失败和等待中的任务可以调用 )
  3. @param url 任务的下载地址
  4. */
  5. - (void)resumeDownload:(NSString *)url;
  6. /**
  7. 暂停下载任务
  8. @param url 任务的下载地址
  9. */
  10. - (void)pauseDownload:(NSString *)url;
  11. 复制代码
  1. /** 下载状态 */
  2. typedef NS_ENUM(NSInteger, ASDownloadState) {
  3. /** 没有该任务 */
  4. ASDownloadStateNoTask = 0,
  5. /** 等待下载 */
  6. ASDownloadStateWaiting,
  7. /** 下载中 */
  8. ASDownloadStateLoading,
  9. /** 下载暂停 */
  10. ASDownloadStatePause,
  11. /** 下载完成 */
  12. ASDownloadStateCompleted,
  13. /** 下载失败 */
  14. ASDownloadStateFailed,
  15. };
  16. 复制代码
  1. /**
  2. 下载中的回调
  3. @param progress 进度
  4. @param speed 速度
  5. @param remainingTime 剩余时间
  6. @param writtenSize 写入大小
  7. @param totalSize 总大小
  8. */
  9. typedef void(^ASDownloadingBlock)(CGFloat progress, NSString *speed, NSString *remainingTime, NSString *writtenSize, NSString *totalSize);
  10. /**
  11. 下载状态的回调
  12. @param state 下载状态
  13. */
  14. typedef void(^ASDownloadStateBlock)(ASDownloadState state)
  15. 复制代码
使用方法
  1. //设置同时下载任务数量 默认不限制
  2. [[ASDownloadManger sharedInstance] setMaximumConnection:1];
  3. /**
  4. state 返回任务是否可下载 以及不可下载原因
  5. progress 下载进度回调
  6. state 下载状态回调
  7. */
  8. //下载方法
  9. ASDownloadTaskState state = [[ASDownloadManger sharedInstance] download:url progress:nil state:nil];
  10. switch (state) {
  11. case ASDownloadTaskStateUrlNil:
  12. //下载地址为空
  13. break;
  14. case ASDownloadTaskStateUrlRrror:
  15. //下载地址错误
  16. break;
  17. case ASDownloadTaskStateCompleted:
  18. //此任务已下载完成
  19. break;
  20. case ASDownloadTaskStateCanDownload:
  21. //可下载
  22. break;
  23. default:
  24. break;
  25. }
  26. 复制代码

更多的使用方法请参见DEMO

作者:meetly 联系作者: QQ: 469091701 邮箱: meet_ly@163.com DEMO地址: github.com/meetly/ASDo…

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/813182
推荐阅读
相关标签
  

闽ICP备14008679号