这就是我使用NSURLSessionDownloadTask的方式
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()才能继续下载。有可能吗?
发布于 2015-12-14 15:22:20
NSURLSessionTask的这种方法
.suspend()文档
任务在挂起时不会产生网络流量,也不会超时。下载任务可以在以后继续传输数据。所有其他任务在恢复时都必须重新开始。
发布于 2015-12-14 15:28:00
不要调用sessionDownloadTask.cancel(),而是使用sessionDownloadTask.cancelByProducingResumeData调用,只要您想恢复下载,就使用NSURLSession方法
sessionManager.downloadTaskWithResumeData:resumeDataObject
https://stackoverflow.com/questions/34261309
复制相似问题