皆さん、私は今、ニューススタンドに取り組んでいます。ネットワークエラーを処理しようとしています。
下の画像に表示されているのは、私の単純なログです (「パーセンテージ: %i」は内部にありますconnection:didWriteData:totalBytesWritten:expectedTotalBytes:)。
私の問題は、コードの最後の 3 行に示されています。

私がこの行で行ったこと:
- その行の後、機内モードをオンにしました(シミュレートされたネットワークエラー)
- 私は
connection:didWriteData:totalBytesWritten:expectedTotalBytes:等しいtotalBytesWrittenと受け取ったexpectedTotalBytes - を受け取りました
connectionDidFinishDownloading:(NSURLConnection *)connection destinationURL:(NSURL *)destinationURL。
その後:
やったー、ちょうど .zip のダウンロードが終わったところです。解凍して、自分のビューにステータスをアナウンスすることができます... :(
私の質問は、何が起こっているのですか?
実装しconnection:didFailWithError:ましたが、呼び出されません。
totalBytesWritten最後に呼び出されたファイルを取得してdidWriteData:、実際のファイルサイズと比較しようとしていましたDidFinishDownloading:
私のデザイン全体に関連していないことを確認するためだけに、すべてのプロジェクトを取り除きました。
実際のダウンロード状況を確認するためにNSTimerとの組み合わせを考えています。NKIssueContentStatusAvailable
それはすべてハッキーです。ではない?
アップデート:
- XCode 5 を使用して iOS 6 および 7 で再現
- メインスレッドで呼び出されるすべての NewsstandKit メソッド
- Charlesプロキシ(フォアグラウンドのアプリ)でオフラインモードをシミュレートするときも同じ