Voilà comment j'utilise NSURLSessionDownloadTask
:Comment faire pour marquer 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()
}
Je sais que je peux appeler sessionDownloadTask.cancel()
et sessionDownloadTask.resume()
, mais je dois appeler là-bas .pause()
, puis .resume()
continuer le téléchargement. C'est possible?
suspension() ne fonctionne pas pour elle. La documentation Apple indique qu'elle n'est pas sujette à des délais d'attente MAIS si vous faites une petite expérience, elle se révèle contraire: 1) reprendre la tâche et la suspendre peu après 2) attendre une durée égale à timeoutIntervalForRequest (NSURLSessionConfiguration) 3) vous recevrez une erreur timeout; La seule façon que je vois pour implémenter cette fonctionnalité est d'utiliser la méthode cancelByProducingResumeData de la tâche de téléchargement. – alex1704