大きなファイルのダウンロードを実装して、現在の進行状況をユーザーに表示しようとしていますが、ブロックインします。
-[AFURLConnectionOperation setDownloadProgressBlock:]
正しくない値bytesRead
を返しtotalBytesRead
ます(本来よりも小さい値です)。
例:90MBのファイルがあり、それが完全にダウンロードされた場合、の最新のブロック呼び出しで約30MBの値がsetDownloadProgressBlock:
得られます。totalBytesRead
一方、ファイルのサイズが2MBの場合、最新のブロック呼び出しで正しいtotalBytesRead
2MBの値が得られます。
AFNetworkingはgithubから最新バージョンに更新されます。
AFNetworkingで正しく実行できない場合、どのような解決策を使用できますか?
編集:ファイルが完全にダウンロードされていない場合でも(これは比較的大きなファイルで毎回発生します)、AFNetworkingは成功ブロックを呼び出します:
-[AFHTTPRequestOperation setCompletionBlockWithSuccess:failure:]
私はこの状況についてここで同様の質問をしましたが、何の答えも得られませんでした。
ダウンロードしたコードと実際のファイルサイズをチェックインできますがAFNetworking
、部分的なダウンロードを続行するためのAPIがありません。