关于NSURLSession下载文件时的断点续传,网上相关文章有很多,但都是主动暂停下载任务时断点续传的方法,没有提到过下载失败的情况,其实很简单,代码如下:
在下载出错的错误回调中
- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task
didCompleteWithError:(nullable NSError *)error
使用如下代码获得用来做恢复的NSData
NSData* resumeData = error.userInfo[NSURLSessionDownloadTaskResumeData];
再在下次任务开始时使用如下代码做恢复即可
NSURLSessionConfiguration * config = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:config delegate:self delegateQueue:nil];
NSURLSessionDownloadTask *task = [session downloadTaskWithResumeData:resumeData];
[task resume]
顺带着也贴下主动暂停时,获得用来做恢复NSData的代码
- (voi