Ios 如何暂停NSURLSessionDownloadTask?
这就是我如何使用NSURLSessionDownloadTask的方法:Ios 如何暂停NSURLSessionDownloadTask?,ios,swift,afnetworking,Ios,Swift,Afnetworking,这就是我如何使用NSURLSessionDownloadTask的方法: let sessionConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration() let sessionManager = AFURLSessionManager(sessionConfiguration: sessionConfiguration) if let url = NSURL(string: URLSt
let sessionConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration()
let sessionManager = AFURLSessionManager(sessionConfiguration: sessionConfiguration)
if let url = NSURL(string: URLString) {
let request = NSURLRequest(URL: url)
let sessionDownloadTask = sessionManager.downloadTaskWithRequest(request, progress: nil, destination: { (url, response) -> NSURL in
self.createDirectoryAtPath(destinationPath)
return destinationPath.URLByAppendingPathComponent(fileName)
}, completionHandler: { response, url, error in
completionBlock(error)
})
sessionDownloadTask.resume()
}
我知道我可以调用
sessionDownloadTask.cancel()
和sessionDownloadTask.resume()
,但我需要在那里调用.pause()
,然后调用.resume()
继续下载。有可能吗?这种NSURLSessionTask方法
.suspend()
医生
任务挂起时不会产生网络流量,也不会超时。下载任务可以在以后继续传输数据。恢复后,所有其他任务都必须重新开始
不要调用
sessionDownloadTask.cancel()
,而是使用调用sessionDownloadTask.cancelByProducingResumeData
,并且无论何时要恢复下载,请使用NSURLSession
sessionManager.downloadTaskWithResumeData:resumeDataObject
suspend()方法对其不起作用。苹果的文档说它不会超时,但如果你做了一个小实验,结果正好相反:1)恢复任务并在2)等待等于TimeOutiterValforRequest(NSURLSessionConfiguration)的时间量后暂停任务。3)你将收到超时错误;我看到实现此功能的唯一方法是使用cancelByProducingResumeData方法下载任务。对于AvaggregateSetDownloadTask:这不是可能的主题,而是事实:(