Cómo cancelar una AFdownloadrequestoperation y no retener el progreso anterior (eliminar el file temporal) iOS

Estoy descargando un file del server.
Puedo download el file con éxito. Pero siempre que cancele la operación de request de descarga (entre) y reinicie la descarga. La descarga comienza desde el progreso anterior (no desde cero). pero quiero reiniciar la descarga desde cero.

Configuración de operation.deleteTempFileOnCancel = YES; tampoco ayuda

No se crea ningún file en la ruta de destino indicada, cuando cancelo la descarga entre

 operation.tempPath is returning null (not able to delete temporary file) 

Estoy usando el siguiente código

  NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:model.downloadUrl]]; operation = [[AFDownloadRequestOperation alloc] initWithRequest:request targetPath:path shouldResume:YES]; operation.deleteTempFileOnCancel = YES; // download operation progressive block [operation setProgressiveDownloadProgressBlock:^(AFDownloadRequestOperation *operation, NSInteger bytesRead, long long totalBytesRead, long long totalBytesExpected, long long totalBytesReadForFile, long long totalBytesExpectedToReadForFile) { // calculate current download progress } }]; // download operation completion block [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { } failure:^(AFHTTPRequestOperation *operation, NSError *error) { // operation failed }]; [operation start]; 

Quiero iniciar la descarga desde cero si la descarga se cancela entre y luego vuelve a iniciarse. Estoy usando iOS 7

Bueno, acabo de encontrar una solución a esto. Lo publicaré aquí en caso de que alguien más tenga el mismo problema.

Después de esta línea, puede comprobar si el tempPath se crea realmente

 operation = [[AFDownloadRequestOperation alloc] initWithRequest:request targetPath:path shouldResume:YES]; NSLog("%@", operation.tempPath); 

Luego agrega esa ruta a un dictionary

 NSString *tempPath = _operation.tempPath; [self.tempPathDict setObject:tempPath forKey:your_key]; 

Y cuando detienes la operación, llamas a este código

 NSString *tempPath = [self.tempPathDict objectForKey:your_key]; // Cancel the operation you want [operation cancel]; // Remove the tempFile NSError *error = [[NSError alloc] init]; [[NSFileManager defaultManager] removeItemAtPath:tempPath error:&error]; // And last remove the path from the dictionary [self.tempPathDict removeObjectForKey:your_key];