1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Danie1s-Tiercel

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Tiercel — это простой в использовании и многофункциональный фреймворк, написанный на чистом Swift. Он поддерживает фоновое скачивание на уровне операционной системы и обладает мощными функциями управления задачами, что позволяет удовлетворить большинство потребностей приложений для скачивания.

Если вы используете язык программирования Objective-C, вы можете использовать TiercelObjCBridge для интеграции.

Tiercel 3.0

Tiercel 3.0 значительно улучшил производительность, имеет более совершенную обработку ошибок и предоставляет больше удобных API. Переход с Tiercel 2.0 на Tiercel 3.0 очень прост, и всем разработчикам настоятельно рекомендуется выполнить обновление. Подробные инструкции можно найти в руководстве по миграции Tiercel 3.0.

Особенности

  • Поддержка фонового скачивания на уровне операционной системы.
  • Поддержка офлайн возобновления загрузки после сбоя приложения или его принудительного завершения.
  • Точное управление задачами, позволяющее отдельно управлять каждой задачей загрузки.
  • Возможность создания нескольких модулей загрузки, каждый из которых работает независимо друг от друга.
  • Каждый модуль загрузки имеет своего собственного менеджера, который может выполнять операции и управлять общими задачами.
  • Поддерживает пакетные операции.
  • Встроенные общие сведения о загрузке, такие как скорость загрузки и оставшееся время.
  • Позволяет настраивать ведение журнала.
  • Обеспечивает сортировку задач загрузки.
  • Цепочка вызовов синтаксиса.
  • Управление максимальным количеством одновременных загрузок.
  • Проверка файлов.
  • Поточно-безопасный.

Требования к среде

  • iOS 10.0 или выше.
  • Xcode 11.0 или новее.
  • Swift 5.0 или более поздняя версия.

Установка

CocoaPods

Tiercel поддерживает интеграцию через CocoaPods. Сначала установите CocoaPod с помощью команды:

$ 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 Pacakage Dependency», затем введите «git@github.com:Danie1s/Tiercel.git» в поле поиска, чтобы завершить интеграцию.

Ручная интеграция

Tiercel также позволяет вручную интегрировать проект. Просто перетащите папку «Tiercel» из текущего проекта в требуемый проект.

Демо

Откройте файл проекта «Tiercel.xcodeproj» в текущей папке, чтобы запустить демонстрационное приложение.

Использование

Основное использование

Запустите задачу загрузки одной строкой кода и верните необязательный экземпляр DownloadTask. Если URL недействителен, возвращается nil:

// Создаём задачу загрузки и запускаем её, возвращая необязательный экземпляр DownloadTask, если URL неверен, возвращает nil
let task = sessionManager.download("http://dldir1.qq.com/qqfile/QQforMac/QQ_V4.2.4.dmg")

// Запускаем несколько задач загрузки одновременно и возвращаем массив задач, соответствующих действительным URL-адресам, где URL-адреса должны соответствовать fileNames один к одному
let tasks = sessionManager.multiDownload(URLStrings)

Можно настроить состояние задачи загрузки:

let task = sessionManager.download("http://dldir1.qq.com/qqfile/QQforMac/QQ_V4.2.4.dmg")

task?.progress(onMainQueue: true) { (task) in
    let progress = task.progress.fractionCompleted
    print("Загрузка, прогресс: \(прогресс)")
}.success { (задача) в
    печать("Загрузка завершена")
}.failure { (задача) в
    печать("Ошибка загрузки")
}

Вы можете управлять задачами загрузки через URL или напрямую управлять ими:

let URLString = "http://dldir1.qq.com/qqfile/QQforMac/QQ_V4.2.4.dmg"

// Управляем задачами загрузки через URL
sessionManager.start(URLString)
sessionManager.suspend(URLString)
sessionManager.cancel(URLString)
sessionManager.remove(URLString, completely: false)

// Непосредственно управляем задачами загрузки
sessionManager.start(задача)
sessionManager.suspend(задача)
sessionManager.cancel(задача)
sessionManager.remove(задача, полностью: false)

Фоновая загрузка

С версии Tiercel 2.0 поддерживается фоновая загрузка на уровне операционной системы. Пока вы используете Tiercel для запуска задачи загрузки, она будет продолжать работать:

  • Если вы принудительно закроете приложение, задача будет приостановлена, а при перезапуске приложения загрузка продолжится.
  • Пока приложение не будет принудительно закрыто, задача загрузки будет выполняться непрерывно, например, когда приложение переходит в фоновый режим, происходит сбой приложения или система принудительно завершает работу приложения.

Для получения дополнительной информации о фоновой загрузке см.: «Подробное объяснение фоновой загрузки на уровне операционной системы iOS».

Проверка файлов

Tiercel предоставляет функцию проверки файлов, которую можно включить по мере необходимости. Результаты проверки доступны в обратном вызове task.validation.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Простой в использовании и многофункциональный фреймворк для скачивания, написанный на чистом Swift. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/Danie1s-Tiercel.git
git@api.gitlife.ru:oschina-mirror/Danie1s-Tiercel.git
oschina-mirror
Danie1s-Tiercel
Danie1s-Tiercel
master