Ios 如何检查当前URLSessionDownloadTask的恢复功能?

Ios 如何检查当前URLSessionDownloadTask的恢复功能?,ios,swift,xcode8,nsurlsession,nsurlsessiondownloadtask,Ios,Swift,Xcode8,Nsurlsession,Nsurlsessiondownloadtask,目前我正在从服务器下载一个文件,效果很好。 我的问题是,在实际下载开始之前,我如何知道url是否具有恢复功能? 下面是一些代码片段, class Downloader:NSObject,URLSessionDownloadDelegate { /* SOME PROPERTIES & DECLARATIONS */ override init() { super.init() let backgroundSessio

目前我正在从服务器下载一个文件,效果很好。
我的问题是,在实际下载开始之前,我如何知道url是否具有恢复功能?
下面是一些代码片段,

class Downloader:NSObject,URLSessionDownloadDelegate {
    /*
     SOME PROPERTIES & DECLARATIONS
     */

    override init() {
        super.init()
        let backgroundSessionConfiguration = URLSessionConfiguration.background(withIdentifier: url.absoluteString)
        backgroundSessionConfiguration.networkServiceType = .default
        self.defaultSession = URLSession(configuration: backgroundSessionConfiguration, delegate: self, delegateQueue: OperationQueue.main)
    }

    func start(_ block:DownloaderCompletionHandler?) {
        guard self.input == nil else { return }
        guard self.output == nil else { return }
        if let data = self.resumableData {
            self.downloadTask = self.defaultSession.downloadTask(withResumeData: data)
        }else {
            let request = URLRequest(url: self.input!, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 0.60)
            self.downloadTask = self.defaultSession.downloadTask(with: request)
        }
        self.downloadTask.resume()
    }
    func pause() {
        self.downloadTask.cancel { (data) in
            self.resumableData = data
        }
    }
}
请告诉我这个情况。
提前感谢

如果您发送的请求包含HttpHeader中的范围,并收到206状态码作为响应,则可以继续下载。否则无法继续下载


阅读更多信息

只有满足以下条件,才能恢复下载:

  • 该资源自您第一次请求后未更改

  • 该任务是HTTP或HTTPS GET请求

  • 服务器在其响应中提供ETag或Last Modified标头(或两者)

  • 服务器支持字节范围请求

  • 临时文件尚未被系统删除以响应磁盘空间压力


→ 来源:

你所说的简历容量是什么意思?你指的是在下载中断后恢复的功能吗?@user1046037,是的,我已经编辑了问题的这一部分。你能举个例子吗?所有的
URLSessionTask
s都可以挂起并恢复。只需调用函数
suspend
/
resume
。你自己试试吧,我自己没试过。据我所知,它与特定的URLhi无关。感谢您的即时回复,我将尝试并向您提供结果。是的,我的状态代码为206,但我的问题是在下载过程中获取此信息。有什么办法吗。?