iOS Download Manager

iOS Download Manager

之前的项目中有类似于百度下载,找了几个开源项目,看了下源码,记录一下,方便自己以后

下载最好要支持后台传输,一般使用的是NSURLSession,NSURLSessionConfiguration使用的是支持background的模式

1、HWDownloadDemo

HWDownloadDemo实现了后台下载,文章iOS 大文件下载、断点续传、后台下载 —— HERO博客也对demo进行详细的说明

Demo下载链接:https://github.com/HeroWqb/HWDownloadDemo

下载的状态包括如下的几种:

typedef NS_ENUM(NSInteger, HWDownloadState) {
    HWDownloadStateDefault = 0,  // 默认
    HWDownloadStateDownloading,  // 正在下载
    HWDownloadStateWaiting,      // 等待
    HWDownloadStatePaused,       // 暂停
    HWDownloadStateFinish,       // 完成
    HWDownloadStateError,        // 错误
};

B、使用FMDB来保存下载模型,对数据进行增删改查

对更新数据库的操作类型,也进行了分类,如下:

typedef NS_OPTIONS(NSUInteger, HWDBUpdateOption) {
    HWDBUpdateOptionState         = 1 << 0,  // 更新状态
    HWDBUpdateOptionLastStateTime = 1 << 1,  // 更新状态最后改变的时间
    HWDBUpdateOptionResumeData    = 1 << 2,  // 更新下载的数据
    HWDBUpdateOptionProgressData  = 1 << 3,  // 更新进度数据(包含tmpFileSize、totalFileSize、progress、intervalFileSize、lastSpeedTime)
    HWDBUpdateOptionAllParam      = 1 << 4   // 更新全部数据
};

相关文章链接https://blog.csdn.net/hero_wqb/article/details/80407478

2、YCDownloadSession

YCDownloadSession 

3、TWRDownloadManager  

经过对比model的使用,项目最终选择了第一个第三方SDK HWDownloadManager实现了类型百度下载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值