皆さん、私は今、ニューススタンドに取り組んでいます。ネットワークエラーを処理しようとしています。
下の画像に表示されているのは、私の単純なログです (「パーセンテージ: %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プロキシ(フォアグラウンドのアプリ)でオフラインモードをシミュレートするときも同じ