我有一个同时提供多本书下载的 iOS 应用程序,它实际上是一个阅读器应用程序。早些时候我使用AFDownloadRequestOperation来下载这本书。当用户在应用程序崩溃或用户强制退出(杀死)应用程序后启动应用程序时,它会自动从它离开下载的偏移量恢复下载,为此我使用了以下方法:
AFDownloadRequestOperation* operation = [[AFDownloadRequestOperation alloc] initWithRequest:request targetPath:path shouldResume:YES];
现在我使用AFNetworking 2.0 API AFHTTPSessionManager进行后台下载。我通过以下方式创建了后台会话:
NSString* strIdentifier = [NSString stringWithFormat:@"someUniqueIdentifier"];
NSURLSessionConfiguration *sessionConfig;
if ([[[UIDevice currentDevice] systemVersion] floatValue] >=8.0f)
{
sessionConfig =[NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:strIdentifier];
}
else
{
sessionConfig = [NSURLSessionConfiguration backgroundSessionConfiguration:strIdentifier];
}
self.backgroundSessionManager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:sessionConfig];
然后我使用委托回调启动了后台下载任务,如下所示:
self.bookDownloadTask = [self.backgroundSessionManager downloadTaskWithRequest:request progress:nil destination:nil completionHandler:nil];
[self.bookDownloadTask 恢复];
所以再次考虑之前的情况——
当用户在应用程序崩溃或用户强制退出(杀死)应用程序后启动应用程序时,它会自动开始(而不是恢复)下载,但不是从它离开下载的偏移量开始下载,它从书的开头开始下载。
有什么方法可以从使用 AFHTTPSessionManager 离开下载的偏移量自动恢复下载?
任何帮助,将不胜感激。谢谢 !!