Baixando arquivos grandes com o AFNetworking
Estou tentando implementar o download de um arquivo grande e mostrar ao usuário o progresso atual, mas bloqueie em:
-[AFURLConnectionOperation setDownloadProgressBlock:]
retorna incorretobytesRead
etotalBytesRead
valores (eles são menores do que deveriam ser).
Por exemplo: se eu tiver um arquivo de 90 MB e quando ele fizer o download completo, a chamada de bloco mais recentesetDownloadProgressBlock:
me dátotalBytesRead
valor de cerca de 30MB. Por outro lado, se o arquivo tiver 2 MB de tamanho, a última chamada de bloco será correta.totalBytesRead
Valor de 2MB.
O AFNetworking é atualizado para a versão mais recente do github.
Se o AFNetworking não puder fazê-lo corretamente, que solução posso usar?
Editar: Eu determinei que, mesmo que o arquivo não seja baixado completamente (e isso acontece sempre com arquivos relativamente grandes), o AFNetworking chama o bloco de sucesso em:
-[AFHTTPRequestOperation setCompletionBlockWithSuccess:failure:]
Eu fiz uma pergunta semelhanteAqui sobre esta situação, mas não obteve nenhuma resposta.
Posso verificar o código baixado e os tamanhos reais dos arquivos, masAFNetworking
não possui API para continuação do download parcial.