Mostrando o progresso do download do arquivo com NSURLSessionDataTask
Quero exibir o progresso do download do arquivo (quantos bytes são recebidos) de um arquivo específico. Ele funciona bem com o NSURLSessionDownloadTask. Minha pergunta é: quero obter o mesmo com o NSURLSessionDataTask.
Aqui está o código que recebe o arquivo no NSData e grava na pasta do documento:
NSURLSessionConfiguration *defaultConfigObject = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *defaultSession = [NSURLSession sessionWithConfiguration: defaultConfigObject delegate: self delegateQueue: [NSOperationQueue mainQueue]];
NSURLSessionDataTask * dataTask = [defaultSession dataTaskWithURL:theRessourcesURL
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
{
if(error == nil)
{
NSString *docsDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *pathToDownloadTo = [NSString stringWithFormat:@"%@/%@", docsDir, Name];
NSLog(@"SIZE : %@",[NSByteCountFormatter stringFromByteCount:data.length countStyle:NSByteCountFormatterCountStyleFile]);
[data writeToFile:pathToDownloadTo options:NSDataWritingAtomic error:&error];
}
}];
[dataTask resume];
Estou obtendo o tamanho do arquivo após gravar ou concluir a datatask (após o recebimento do arquivo):
NSLog(@"SIZE : %@",[NSByteCountFormatter stringFromByteCount:data.length countStyle:NSByteCountFormatterCountStyleFile]);
Mas eu quero exibir o status atual de bytes recebidos, isso é possível com NSURLSessionDataTask?