iOS网络部分 |断点续传

324 阅读1分钟

关于断点续传,原理其实很简单,就是执行函数

    self.downloadTask = [self.session downloadTaskWithResumeData:self.resumeData];
    self.resumeData = nil;

一般的下载

self.downloadTask = [self.session downloadTaskWithURL:url];

至于一些需要注意的地方,看Demo: github.com/tanghaitao/…

注意:

1. cancelByProducingResumeData

2. 后台下载

2.1 NSURLSessionConfiguration *config = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:[self currentDateStr]];

2.2 - (void)application:(UIApplication *)application handleEventsForBackgroundURLSession:(NSString *)identifier completionHandler:(void (^)(void))completionHandler 这里回到 session

2.3 - (void)applicationWillEnterForeground:(UIApplication *)application 进入前台的提示 根据id 去找

2.4 - (void)URLSessionDidFinishEventsForBackgroundURLSession:(NSURLSession *)session{ NSLog(@"所有后台任务已经完成: %@",session.configuration.identifier); }

3. 利用文件流避免内存爆增的问题

//[self.receiveData appendData:data]