Latest0.0.5
Homepagehttps://github.com/cornerAnt/Digger
LicenseMIT
Platformsios 8.0
Authors
Digger

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.

Digger

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.

Latest podspec

{
    "name": "Digger",
    "version": "0.0.5",
    "summary": "A lightweight download framework that requires only one line of code to complete the file download task",
    "homepage": "https://github.com/cornerAnt/Digger",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "platforms": {
        "ios": "8.0"
    },
    "authors": {
        "cornerant": "[email protected]"
    },
    "source": {
        "git": "https://github.com/cornerAnt/Digger.git",
        "tag": "0.0.5"
    },
    "source_files": "Sources/*.swift",
    "pushed_with_swift_version": "4.0"
}

Pin It on Pinterest

Share This