Я использую AFHTTPRequestOperation для загрузки файла. Но при приостановке и возобновлении операции api дает неверный подсчет прогресса. Я загрузки данных с помощью следующей кодAFNetworking дает неверный подсчет хода
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:str]];
_downloadOperation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
_downloadOperation.outputStream = [NSOutputStream outputStreamToFileAtPath:strFilePath append:YES];
[_downloadOperation setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) {
NSLog(@"Progress %lld",totalBytesRead * 100/totalBytesExpectedToRead);
}];
[_downloadOperation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"downloaded %@",operation.request.URL);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"failed");
}];
[_downloadOperation start];
приостановить операцию, когда пользователь переходит в фоновом режиме,
- (void)applicationDidEnterBackground:(UIApplication *)application
{
if ([objAPI.downloadOperation isExecuting])
[objAPI.downloadOperation pause];
}
и возобновить работу, когда пользователь заходит на переднем плане
- (void)applicationWillEnterForeground:(UIApplication *)application
{
if ([objAPI.downloadOperation isPaused])
[objAPI.downloadOperation resume];
}
Пример: Если операция приостановлена с ходом 20%, при возобновлении она начинается с 20%, но заканчивается на 120%. Другими словами, подсчет прогресса идет некорректно после приостановки операции.
Пожалуйста, помогите мне решить эту проблему