Tiercel 下载框架教程
Tiercel简单易用、功能丰富的纯 Swift 下载框架项目地址:https://gitcode.com/gh_mirrors/ti/Tiercel
项目介绍
Tiercel 是一个简单易用、功能丰富的纯 Swift 下载框架。它支持原生级别的后台下载,拥有强大的任务管理功能,可以满足下载类 APP 的大部分需求。如果你使用的开发语言是 Objective-C,可以使用 TiercelObjCBridge 进行桥接。Tiercel 3.0 大幅提高了性能,拥有更完善的错误处理,提供了更多方便的 API。
项目快速启动
环境要求
- iOS 10.0+
- Xcode 11.0+
- Swift 5.0+
安装
CocoaPods
首先需要使用以下命令安装 CocoaPods:
$ gem install cocoapods
在 Podfile
文件中添加:
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 的菜单栏中选择 File > Swift Packages > Add Package Dependency
,然后在搜索栏输入 git@github.com:Danie1s/Tiercel.git
即可完成集成。
基本用法
一行代码开启下载:
import Tiercel
// 创建下载任务并且开启下载
let sessionManager = SessionManager("default")
let task = sessionManager.download("http://example.com/file.zip")
sessionManager.start(task)
应用案例和最佳实践
后台下载
从 Tiercel 2.0 开始支持原生的后台下载。只要使用 Tiercel 开启了下载任务:
- 手动 Kill App,任务会暂停,重启 App 后可以恢复进度,继续下载。
- 只要不是手动 Kill App,任务都会一直在下载,例如:App 退回后台、App 崩溃或者被系统关闭、重启手机。
文件校验
Tiercel 提供了文件校验功能,可以根据需要添加。校验结果在回调的 task.validation
里:
let task = sessionManager.download("http://example.com/file.zip")
task.validateFile(code: "9e2a3650530b563da297c9246acaad5c", type: .md5, onMainQueue: true) { (task) in
if task.validation == .correct {
// 文件正确
} else {
// 文件错误
}
}
典型生态项目
Tiercel 作为一个功能丰富的下载框架,可以与其他项目结合使用,例如:
- 网络请求库:与 Alamofire 结合使用,可以更方便地处理网络请求和下载任务。
- 数据存储库:与 Core Data 或 Realm 结合使用,可以更方便地管理下载任务的数据。
- UI 框架:与 SwiftUI 或 UIKit 结合使用,可以更方便地展示下载任务的进度和状态。
通过这些结合使用,可以构建出更加强大和完善的下载功能,满足各种复杂的需求。
Tiercel简单易用、功能丰富的纯 Swift 下载框架项目地址:https://gitcode.com/gh_mirrors/ti/Tiercel