Tiercel — это простой в использовании и многофункциональный фреймворк, написанный на чистом Swift. Он поддерживает фоновое скачивание на уровне операционной системы и обладает мощными функциями управления задачами, что позволяет удовлетворить большинство потребностей приложений для скачивания.
Если вы используете язык программирования Objective-C, вы можете использовать TiercelObjCBridge для интеграции.
Tiercel 3.0
Tiercel 3.0 значительно улучшил производительность, имеет более совершенную обработку ошибок и предоставляет больше удобных API. Переход с Tiercel 2.0 на Tiercel 3.0 очень прост, и всем разработчикам настоятельно рекомендуется выполнить обновление. Подробные инструкции можно найти в руководстве по миграции Tiercel 3.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 )