私が取り組んでいるOSXアプリケーションの主要コンポーネントの1つは、NSURLDownloadを中心に構築されたダウンロードシステムです。
ユーザーの大多数(および社内の開発チーム)は、ファイルのダウンロードに問題はありません。ただし、世界中でランダムユーザーの割合はわずか(1〜2%)であるようです。これらのユーザーの場合、ダウンロードが完了する前にNSURLDownloadのdownloadDidFinish:デリゲートメソッドが呼び出されます。たとえば、ユーザーが5 GBのファイルをダウンロードしようとすると、3.5 GBのデータが転送された後にdownloadDidFinish:が呼び出され、ファイルが不完全になる可能性があります。明らかに、これはユーザーに多くのフラストレーションを引き起こしています。
私たちはこの問題にかなりの時間を費やしてきましたが、あまり進歩していません。OS Xが(誤って?)downloadDidFinishを呼び出すケースが少なくとも1つあることを確認しました。早すぎます。その場合、Macのボリュームが空き容量を使い果たします。なぜdownload:didFailWithError:デリゲートメソッドが代わりに呼び出されないので、これは奇妙なことに私を驚かせました。ただし、ダウンロードが不完全なユーザーの大多数は十分なディスク容量を持っているため、ディスク容量の不足が問題になるとは考えていません。
だから私の質問は次のとおりだと思います:ダウンロードが完了する前にNSURLDownload downloadDidFinish:が呼び出される可能性がある理由(ディスク容量が少ないこと以外)を知っていますか?あなたが私たちに与えることができるアドバイスをありがとう。