为什么URLSession不能在iOS 10上恢复?
问题描述:
在我的iOS的下载管理器为什么URLSession不能在iOS 10上恢复?
RCDownload是保存标题,URL,下载状态和恢复下载
我有一个名为defaultSession块变量,它看起来像这样的数据位置的对象:
lazy var defaultSession: URLSession = {
let configuration = URLSessionConfiguration.background(withIdentifier: "RCBackgroundDownloader")
configuration.isDiscretionary = false
configuration.sessionSendsLaunchEvents = true
let session = URLSession(configuration: configuration, delegate: self, delegateQueue: nil)
return session
}()
我的应用程序能够暂停和恢复下载
我的恢复功能是这样的:
func resume(download: RCDownload) {
var data: Data!
do {
data = try Data(contentsOf: download.getResumeDataURL())
} catch {}
download.downloadState = downloadStatus.downloading
if data != nil {
download.downloadTask = self.defaultSession.downloadTask(withResumeData: data)
download.downloadTask?.resume()
} else {
download.downloadTask = self.defaultSession.downloadTask(with: download.downloadURL)
download.downloadTask?.resume()
}
}
此代码在iOS 9上完美工作,但在iOS 10上,当我杀死我的应用程序并重新打开时,它不会恢复但没有错误出现(提醒:它在iOS 9上工作完美),我很困惑任何解释?
答
这个错误是在iOS 10中,Apple必须解决它。根据这个thread on Apple's forum,他们已经修复了10.2版本。
你也可以看看这个*'s post。他们提供了详细的解决方案。
最后,我有一个解释,我一直试图解决它,因为iOS 10.0。谢啦。 – Raffi
欢迎您:) – Munahil