У меня есть такой сценарий в моем приложении:
Я должен выполнить 2 блока кода несколько раз для N раз.
в первом блоке я должен выполнить сетевой вызов с Alamofire ( Я звоню в службу HTTP). этот вызов возвращает данные, и в этих данных есть путь к изображению, который я должен загрузить на устройстве
, во втором блоке я должен загрузить изображение и затем сохранить его на устройстве
После этого начните снова N раз.
Моя проблема в том, что у пользователя может быть приложение в фоновом режиме, и мне бы хотелось, чтобы этот процесс продолжался, когда приложение тоже в фоновом режиме.
По этой причине, после вызова Alamofire я вставляю этот код для загрузки изображения:
let config = URLSessionConfiguration.background(withIdentifier: "XXXXXX.XXXX")
let session = URLSession(configuration: config, delegate: self, delegateQueue: OperationQueue())
let url = URL(string: "testurl")
let task = session.downloadTask(with: url!)
task.resume()
func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) {
//save image on device and I recall Alamofire for the next call
}
Моя проблема заключается в следующем: этот процесс не выполняется, когда приложение переходит в фоновый режим. В чем я не прав?