我有 NSURLSession 正在下载多个文件。我正在为 ios 8 更新一个 ios 7 应用程序。它在 ios 7 中运行良好,但在针对 ios 8 进行编译时
URLSessionDidFinishEventsForBackgroundURLSession:
永远不会被调用。
我挖得更深了
-(void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didFinishDownloadingToURL:(NSURL *)location
和
-(void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error
我正在检查会话中剩余的下载任务:
[self.session getTasksWithCompletionHandler:^(NSArray *dataTasks, NSArray *uploadTasks, NSArray *downloadTasks){ ...}
在调用的最后一个代理肉类方法中,downloadTasks 数组中始终存在一个元素。奇怪的是,这个下载任务并不总是引用同一个文件,并且该任务的状态显示下载完成。
同样,在 ios7 中工作正常。问题仅发生在 ios 8 中。