【发布时间】:2020-06-03 00:09:55
【问题描述】:
我的应用中有这样的场景:
我必须重复执行 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
}
我的问题是:当应用程序进入后台时,此过程不会执行。 我哪里错了?
【问题讨论】:
标签: ios swift background alamofire nsurlsessiondownloadtask