在我的iOS下载管理器中
RCDownload是一个对象,包含下载的标题,网址,下载状态和恢复数据位置
我有一个名为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上完美运行),我很困惑有没有任何解释?
答案 0 :(得分:2)
该错误发生在iOS 10中,Apple必须修复它。根据这个thread on Apple's forum,他们已经修复了10.2版本。
您还可以查看此Stackoverflow's post。他们为解决方案提供了详细信息。