测试测试 | ✗ |
Lang语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2017年11月 |
SwiftSwift 版本 | 4.0 |
SPM支持 SPM | ✗ |
由 cornerant 维护。
Digger 是一个轻量级的下载框架,只需一行代码即可完成文件下载任务。
基于 URLSession,纯 Swift 语言实现,支持链式语法调用,实时下载进度,实时下载速度,断点续传。
用户强制关闭应用,例如通过滑出应用。
Digger 仍然可以恢复下载任务。
添加到您的 Podfile
pod 'Digger'
添加到您的 Cartfile
github "cornerAnt/Digger"
### 基本用法
在沙盒 Caches 下的 Digger 目录中下载文件
let url = "http://example.com/digger.mp4"
Digger.download(url)
根据需要选择不同的回调
Digger.download(url)
.progress(nil)
.speed(nil)
.completion(nil)
let url = "http://example.com/digger.mp4"
Digger.download(url)
.progress({ (progresss) in
print(progresss.fractionCompleted)
})
.speed({ (speed) in
print(speed)
})
.completion { (result) in
switch result {
case .success(let url):
print(url)
case .failure(let error):
print(error)
}
}
}
自行配置
/// Start the task at once,default is true
DiggerManager.shared.startDownloadImmediately = false
/// maxConcurrentTasksCount,deault is 3
DiggerManager.shared.maxConcurrentTasksCount = 4
/// request timeout,deault is 100
DiggerManager.shared.timeout = 150
/// allowsCellularAccess,deault is true
DiggerManager.shared.allowsCellularAccess = false
/// loglevel,deault is high
/*
***************DiggerLog****************
file : ExampleController.swift
method : viewDidLoad()
line : [31]:
info : digger log
*/
// If you want to close,set the level to be .none
DiggerManager.shared.logLevel = .none
// MARK:- DiggerCache
/// In the sandbox cactes directory, custom your cache directory
DiggerCache.cachesDirectory = "Directory"
/// Delete all downloaded files
DiggerCache.cleanDownloadFiles()
/// Delete all temporary download files
DiggerCache.cleanDownloadTempFiles()
/// Get the system's available memory size
_ = DiggerCache.systemFreeSize()
/// Get the size of the downloaded file
_ = DiggerCache.downloadedFilesSize()
/// Get the path to all downloaded files
_ = DiggerCache.pathsOfDownloadedfiles
}
Digger 版权所有 (c) 2017 cornerAnt,作为开源软件发布,许可协议见所附MIT 许可证。