Momentan arbeite ich an dem Herunterladen einer Datei vom Server, und das funktioniert gut. Wie kann man die Wiederaufnahmefähigkeit der aktuellen URLSessionDownloadTask überprüfen?
meine Frage ist, wie würde ich wissen, dass URL hat Fähigkeit oder nicht vor dem eigentlichen Download gestartet?
unten ist ein Code-Schnipsel,
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
}
}
}
bitte, mich auf diese Situation guid. Vielen Dank im Voraus
Was Sie mit dem Lebenslauf Kapazität bedeuten Sie? Beziehen Sie sich auf die Möglichkeit, fortzufahren, nachdem der Download unterbrochen wurde? – user1046037
@ user1046037, ja, ich habe diesen Teil der Frage bearbeitet. Kannst du ein Beispiel zeigen? – Vats
Alle 'URLSessionTask's können ausgesetzt und fortgesetzt werden. Rufen Sie einfach die Funktion 'suspend' /' resume' auf. Probieren Sie es selbst aus Ich habe es nicht selbst ausprobiert. Soweit ich weiß, hat es nichts zu einer bestimmten URL – user1046037