TCBlobDownloadSwift 0.1.1

TCBlobDownloadSwift 0.1.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2015年6月
SPM支持 SPM

Thibault Charbonnier 维护。



  • Thibault Charbonnier

使用 Swift 在 iOS 7+ 上使用 NSURLSession 的强大文件下载。

TCBlobDownloadSwift 使您能够从您的后端或互联网中快速下载一个或多个大型文件到您的应用程序。给它一个 URL、一个目录(也可以不指定,它也可以下载到用户的 tmp 文件夹)、一个文件名(也可以不指定,它也可以为您的文件提供一个默认名称),它将照料一切。

请参阅使用部分以获取示例。

特性

  • [x] 使用 NSURLSession(包括后台下载/暂停/恢复)的文件下载
  • [x] 文件管理(下载目录+可自定义的文件名)
  • [x] 下载任务配置(Cookies、超时、并发连接数...)
  • [x] 进度/完成协议(代理样式)
  • [x] 进度/完成闭包
  • [x] 完整的并发文件下载示例项目

要求

  • iOS 7.0+

安装

作为嵌入框架导入
  • 从 Finder 中拖放 TCBlobDownloadSwift.xcodeproj 到您打开的项目文件导航器中。
  • 项目的目标 -> 构建阶段 -> 目标依赖 -> 添加 TCBlobDownloadSwift.framework
  • 点击面板左上角的加号按钮,选择 "新建 Copy Files 阶段"。将 "目标" 设置为 "Frameworks",并添加 TCBlobDownloadSwift.framework
导入源文件

对于不支持嵌入框架的 iOS 7 及其他目标,将源文件 (Source/*.swift}) 复制到您的项目中。

使用方法

在检查 iOS 示例项目之前,这里是如何用几行代码实现 TCBlobDownloadSwift 的

闭包

即将发布!

代理
import TCBlobDownloadSwift

// Here is a simple delegate implementing TCBlobDownloadDelegate.
class DownloadHandler: NSObject, TCBlobDownloadDelegate {
  init() {}

  func download(download: TCBlobDownload, didProgress progress: Float, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64) {
    println("\(progress*100)% downloaded")
  }

  func download(download: TCBlobDownload, didFinishWithError error: NSError?, atLocation location: NSURL?) {
    println("file downloaded at \(location)")
  }
}

let fileURL = NSURL(string: "http://some.huge/file.mp4")
let download = TCBlobDownloadManager.sharedInstance
                                    .downloadFileAtURL(fileURL!, toDirectory: nil, withName: nil, andDelegate: DownloadHandler())

路线图

  • [ ] 文档集合
  • [ ] 完整的后台下载示例
  • [ ] 文件上传