Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
forked from cornerAnt/Digger

Digger is a lightweight download framework that requires only one line of code to complete the file download task(轻量级的下载框架)

License

Notifications You must be signed in to change notification settings

k3-barbie/Digger

Repository files navigation

Version Carthage compatible Version

中文说明

Digger is a lightweight download framework that requires only one line of code to complete the file download task.

Based on URLSession, pure Swift language implementation, support chain syntax call, real-time download progress, real-time download speed, breakpoint download.

The user forces the app to be shut down, for example by sliding off the app. Digger can still resume downloading tasks.

Features:

  • Large file download
  • Multi thread Download
  • Thread safety
  • Breakpoint downloading
  • Controllable concurrency

Requirements"

  • iOS 8.0+
  • Xcode 9.0+
  • Swift 4.0+

Installation

CocoaPods

Add to your Podfile:

pod 'Digger'

Carthage

Add to your Cartfile:

github "cornerAnt/Digger"

Usage

###Basic: Download a file in the Digger directory under the sandbox's Caches

 let url = "http://example.com/digger.mp4"
 Digger.download(url)

Choose different callbacks depending on your needs

 
 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)
 
 }
 
 }
}

Config yourself

/// 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
}

Contributing

  1. Fork
  2. Commit changes to a branch in your fork
  3. Push your code and make a pull request

License

Digger is Copyright (c) 2017 cornerAnt and released as open source under the attached MIT License.

About

Digger is a lightweight download framework that requires only one line of code to complete the file download task(轻量级的下载框架)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 98.0%
  • Ruby 1.1%
  • Objective-C 0.9%

AltStyle によって変換されたページ (->オリジナル) /