大佬教程收集整理的这篇文章主要介绍了ios – 在后台下载/上传完成后,它是否是使用后台任务获取额外HTTP请求的正确方法?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
首先,我们需要创建下载/上传任务.
let configuration = URLSessionConfiguration.BACkground(withIdentifier: UUID().uuidString) configuration.sessionSendsLaunchEvents = true configuration.isDiscretionary = true let session = URLSession(configuration: configuration,delegate: self,delegateQueue: nil) session.downloadTask(with: largeFileURL).resume()
然后我们需要在下载/上传完成后发出一些额外的请求.为了防止应用程序被暂停,我正在使用后台任务.
func urlSession(_ session: URLSession,downloadTask: URLSessionDownloadTask,didFinishDownloadingTo LOCATIOn: URL) { BACkgroundTaskIdentifier = UIApplication.shared.beginBACkgroundTask(expirationHandler: { [weak self] in finishBACkgroundTask() }) let task = URLSession.shared.dataTask(with: someURL) { data,response,error in // Process response. finishBACkgroundTask() } task.resume() } private func finishBACkgroundTask() { UIApplication.shared.endBACkgroundTask(BACkgroundTaskIdentifier) BACkgroundTaskIdentifier = .invalid }
最后一件事是实现应用程序委托方法:
func application(_ application: UIApplication,handleEventsForBACkgroundURLSession identifier: String,completionHandler: @escaping () -> Void) { }
题
这是在背景转移后做一些工作的正确方法吗?
以上是大佬教程为你收集整理的ios – 在后台下载/上传完成后,它是否是使用后台任务获取额外HTTP请求的正确方法?全部内容,希望文章能够帮你解决ios – 在后台下载/上传完成后,它是否是使用后台任务获取额外HTTP请求的正确方法?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。