私はSwiftの新入生で、閉じた後にダウンロードを再開するアプリに取り組んでいます。スタック オーバーフローから同様の質問をいくつか見つけましたが、私の仕事にはあまり役に立ちません。
let dataTask = self.session.downloadTaskWithURL(self.bigFile!)
dataTask.resume()
この方法でダウンロードを再開しようとしていますが、うまくいきません。また、ダウンロードを停止して再開した後に、progressView を更新する方法についても質問したいと思います。
func URLSession(session: NSURLSession, task: NSURLSessionTask,
didCompleteWithError sessionError: NSError?) {
if let error = sessionError {
print("error : \(error)")
if let resumedData = error.userInfo[NSURLSessionDownloadTaskResumeData]
as? NSData {
let resumeData = session.downloadTaskWithResumeData(resumedData)
resumeData.resume()
}
}
}
func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64) {
let progress = Float(totalBytesWritten)/Float(totalBytesExpectedToWrite)
self.progressView.progress = progress
}
また、ダウンロードしたデータを保存するための一時的なパスではなく、ローカル パスを生成する必要がありますか (アプリを公開する必要はありません。先生に見せるだけです)。前もって感謝します