Tiercel是一个非常简单易用且功能丰富的纯Swift下载框架

网友投稿 1136 2022-11-04

Tiercel是一个非常简单易用且功能丰富的纯Swift-框架

Tiercel是一个非常简单易用且功能丰富的纯Swift-框架

Tiercel 是一个简单易用、功能丰富的纯 Swift -框架,支持原生级别后台-,拥有强大的任务管理功能,可以满足-类 APP 的大部分需求。

如果你使用的开发语言是 Objective-C ,可以使用 TiercelObjCBridge 进行桥接

Tiercel 3.0特性环境要求集成Demo用法基本用法后台-文件校验更多 License

Tiercel 3.0

Tiercel 3.0 大幅提高了性能,拥有更完善的错误处理,提供了更多方便的 API。从 Tiercel 2.0 升级到 Tiercel 3.0 是很简单的,强烈推荐所有开发者都进行升级,具体请查看 Tiercel 3.0 迁移指南

特性

支持原生级别的后台- 支持离线断点续传,App 无论 crash 还是被手动 Kill 都可以恢复- 拥有精细的任务管理,每个-任务都可以单独操作和管理 支持创建多个-模块,每个模块互不影响 每个-模块拥有单独的管理者,可以对总任务进行操作和管理 支持批量操作 内置了-速度、剩余时间等常见的-信息 支持自定义日志 支持-任务排序 链式语法调用 支持控制-任务的最大并发数 支持文件校验 线程安全

环境要求

iOS 10.0+Xcode 11.0+Swift 5.0+

安装

CocoaPods

Tiercel 支持 CocoaPods 集成,首先需要使用以下命令安装 CocoaPod:

$ gem install cocoapods

在Podfile文件中

source 'https://github.com/CocoaPods/Specs.git'platform :ios, '10.0'use_frameworks!target '' do pod 'Tiercel'end

最后运行命令

$ pod install

Swift Package Manager

从 Xcode 11 开始,集成了 Swift Package Manager,使用起来非常方便。Tiercel 也支持通过 Swift Package Manager 集成。

在 Xcode 的菜单栏中选择 File > Swift Packages > Add Pacakage Dependency,然后在搜索栏输入

git@github.com:Danie1s/Tiercel.git,即可完成集成

手动集成

Tiercel 也支持手动集成,只需把本项目文件夹中的Tiercel文件夹拖进需要集成的项目即可

Demo

打开本项目文件夹中 Tiercel.xcodeproj ,可以直接运行 Demo

用法

基本用法

一行代码开启-

// 创建-任务并且开启-,同时返回可选类型的DownloadTask实例,如果url无效,则返回nillet task = sessionManager.download("http://dldir1.qq.com/qqfile/QQforMac/QQ_V4.2.4.dmg")// 批量创建-任务并且开启-,返回有效url对应的任务数组,urls需要跟fileNames一一对应let tasks = sessionManager.multiDownload(URLStrings)

可以对任务设置状态回调

let task = sessionManager.download("http://dldir1.qq.com/qqfile/QQforMac/QQ_V4.2.4.dmg")task?.progress(onMainQueue: true) { (task) in let progress = task.progress.fractionCompleted print("-中, 进度:\(progress)")}.success { (task) in print("-完成")}.failure { (task) in print("-失败")}

可以通过 URL 对-任务进行操作,也可以直接操作-任务

let URLString = "http://dldir1.qq.com/qqfile/QQforMac/QQ_V4.2.4.dmg"// 通过 URL 对-任务进行操作sessionManager.start(URLString)sessionManager.suspend(URLString)sessionManager.cancel(URLString)sessionManager.remove(URLString, completely: false)// 直接对-任务进行操作sessionManager.start(task)sessionManager.suspend(task)sessionManager.cancel(task)sessionManager.remove(task, completely: false)

后台-

从 Tiercel 2.0 开始支持原生的后台-,只要使用 Tiercel 开启了-任务:

手动 Kill App,任务会暂停,重启 App 后可以恢复进度,继续-只要不是手动 Kill App,任务都会一直在-,例如: App 退回后台App 崩溃或者被系统关闭重启手机

如果想了解后台-的细节和注意事项,可以查看:iOS 原生级别后台-详解

文件校验

Tiercel 提供了文件校验功能,可以根据需要添加,校验结果在回调的task.validation里

let task = sessionManager.download("http://dldir1.qq.com/qqfile/QQforMac/QQ_V4.2.4.dmg")// 回调闭包可以选择是否在主线程上执行task?.validateFile(code: "9e2a3650530b563da297c9246acaad5c", type: .md5, onMainQueue: true) { (task) in if task.validation == .correct { // 文件正确 } else { // 文件错误 }}

更多

有关 Tiercel 3.0 的详细使用方法和升级迁移,请查看 Wiki

License

Tiercel is available under the MIT license. See the LICENSE file for more info.

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:FS4054锂电池充电ic
下一篇:WS2818M是CPC8封装,是三通道LED驱动控制专用电路外置IC全彩双信号5V32灯可编程led灯带户外工程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~