Загружаю файл. Использую Alamofire. Настроил SessionManager для возможности загрузки в бэкграунде.
let downloadSession: SessionManager = {
return Alamofire.SessionManager(
configuration: URLSessionConfiguration.background(
withIdentifier: (Bundle.main.bundleIdentifier ?? "") + ".background"
)
)
}()
После нажатия кнопки "загрузить" все работает хорошо, отображается прогресс. После того, как скрыл и через небольшое время открыл приложение, больше не возвращаются данные в progress блоке.
@discardableResult
static func download(path: String,
parameters: [String: Any]?,
progressBlock: ProgressBlock?,
successBlock: SuccessBlock?,
errorHandlerBlock: ErrorHandlerBlock?) -> DownloadRequest {
return downloadSession.download(URL(string: APIMethod.shortURL + path)!,
method: .get,
parameters: parameters,
encoding: JSONEncoding.default,
headers: defaultMultipartHeaders,
to: FileBrowser.downloadDestination).downloadProgress(closure: { (progress) in
progressBlock?(progress)
}).responseJSON(completionHandler: { (response) in
successBlock?(response.destinationURL)
})
}