在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:Tiercel开源软件地址:https://gitee.com/Danie1s/Tiercel开源软件介绍:Tiercel 是一个简单易用、功能丰富的纯 Swift 下载框架,支持原生级别后台下载,拥有强大的任务管理功能,可以满足下载类 APP 的大部分需求。 如果你使用的开发语言是 Objective-C ,可以使用 TiercelObjCBridge 进行桥接 Tiercel 3.0Tiercel 3.0 大幅提高了性能,拥有更完善的错误处理,提供了更多方便的 API。从 Tiercel 2.0 升级到 Tiercel 3.0 是很简单的,强烈推荐所有开发者都进行升级,具体请查看 Tiercel 3.0 迁移指南 特性
环境要求
安装CocoaPodsTiercel 支持 CocoaPods 集成,首先需要使用以下命令安装 CocoaPod: $ gem install cocoapods 在 source 'https://github.com/CocoaPods/Specs.git'platform :ios, '10.0'use_frameworks!target '<Your Target Name>' do pod 'Tiercel'end 最后运行命令 $ pod install Swift Package Manager从 Xcode 11 开始,集成了 Swift Package Manager,使用起来非常方便。Tiercel 也支持通过 Swift Package Manager 集成。 在 Xcode 的菜单栏中选择
手动集成Tiercel 也支持手动集成,只需把本项目文件夹中的 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 开启了下载任务:
如果想了解后台下载的细节和注意事项,可以查看:iOS 原生级别后台下载详解 文件校验Tiercel 提供了文件校验功能,可以根据需要添加,校验结果在回调的 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 LicenseTiercel is available under the MIT license. See the LICENSE file for more info. |
请发表评论