Ожидаемое сообщение об ошибке при загрузке файла с фоновой конфигурацией
{
"ref": "123",
"msg": "<error message>"
}
при создании Задача с данными Я могу получить сообщение об ошибке, как и ожидалось, но если я go через фоновый сеанс не удалось получить словарь ошибок.
let url = ....
let destination = ...
let headers = ...
BackgroundSession.shared.manager.download(url, method: .get, parameters: nil, encoding: JSONEncoding.default, headers: headers, to: destination).downloadProgress(queue: DispatchQueue.global(qos: .utility)) { progress in
}
BackgroundSession.shared.manager.delegate.taskDidComplete = { _, task, error in // task completed with error
if let error = error {
// ONLY can get Error response width code not expected dictionary
}
}
BackgroundSession.shared.manager.delegate.downloadTaskDidFinishDownloadingToURL = { _, task, tempLocation in
if let response = task.response as? HTTPURLResponse {
// Do something expected
}
}
Единственная проблема - не удалось получить словарь ошибок, иначе работал с штрафом при фоновой загрузке
Я также пытался загрузить через запрос метод SessionManager тогда я получаю ожидаемый словарь ошибок, но затем загружаемая функция не работает
отредактировано В следующем коде это рабочий файл для загрузки файл и получить словарь ошибок, но не получить файл загрузки в фоновом режиме.
let url = ....
let headers = ...
let request = BackgroundSession.shared.manager.request(url, method: .get, parameters: nil, headers: headers).validate(statusCode: 200...201)
request.responseData { (response) in
if let resp = response.response {
switch response.result {
case .success(let data):
case .failure:
var ne = NetworkError(rawValue: resp.statusCode)!
if let dict = self.convertDataToDictionary(response.data) {
ne = NetworkError(code: resp.statusCode, json: dict)
}
errorCallback(resp, ne)
}
}
}
Любая помощь будет оценена
Спасибо