单击按钮时,我必须执行多个 API 调用以获取数据并将该数据写入文件。我正在使用 Operation Queue 和 URLSession
datatask
来实现它。当此 API 调用正在进行时,如果通过单击主页按钮或通过电话将应用程序置于后台,则不会处理 API 调用。
我尝试了 Operation queue 以及 Dispatch_async()
函数,但是在调用 API 调用后将应用程序置于后台时没有任何效果。
API 请求甚至应该在应用程序置于后台时工作。如何实现?
最佳答案
如果您正在使用 datatask,那么您可以实现 backgroundTask,这在 https://medium.com/@abhimuralidharan/finite-length-tasks-in-background-ios-swift-60f2db4fa01b 中有很好的解释。
如果你正在使用 DownloadTask 或 UploadTask ,你可以使用配置
URLSessionConfiguration.background(withIdentifier:
"com.yourapp.bundleidentifier")
关于ios - 当应用程序移至后台时如何使 URLSession 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57784097/