伙计们,我现在正在处理报亭的东西。我正在尝试处理网络错误。
您在下图中看到的是我的简单日志(“百分比:%i”在里面connection:didWriteData:totalBytesWritten:expectedTotalBytes:
)。
我的问题在最后 3 行代码中描述。
我在这行做了什么:
- 在那条线之后,我打开了飞行模式(模拟网络错误)
- 我收到
connection:didWriteData:totalBytesWritten:expectedTotalBytes:
了totalBytesWritten
等于expectedTotalBytes
- 我收到了
connectionDidFinishDownloading:(NSURLConnection *)connection destinationURL:(NSURL *)destinationURL
。
在那之后:
万岁,我刚刚下载完我的 .zip,我可以解压缩它,向我的视图宣布状态等等...... :(
我的问题是发生了什么事?
我已经实现connection:didFailWithError:
了,但它没有被调用。
我试图抓住totalBytesWritten
最后调用的 indidWriteData:
并将其与实际文件大小进行比较DidFinishDownloading:
我已经剥离了我所有的项目,只是为了确保它与我的整个设计无关。
我正在考虑结合NSTimer
并NKIssueContentStatusAvailable
检查真实的下载状态。
这一切都很糟糕。不是吗?
更新:
- 使用 XCode 5 在 iOS 6 和 7 上重现
- 在主线程上调用的所有 NewsstandKit 方法
- 使用 Charles 代理(前台应用程序)模拟离线模式时也是如此