首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSURLDownload downloadDidFinish:调用太早

NSURLDownload downloadDidFinish:调用太早
EN

Stack Overflow用户
提问于 2012-11-15 23:51:48
回答 1查看 191关注 0票数 0

我使用的OS应用程序的主要组件之一是一个下载系统,它是围绕NSURLDownload构建的。

我们的绝大多数用户(以及我们内部的开发团队)在下载文件时都没有任何问题。然而,我们似乎在全球范围内有一小部分随机用户(1-2%)这样做。对于这些用户,NSURLDownload的downloadDidFinish: delegate方法在下载完成之前被调用。例如,如果用户尝试下载一个5 GB的文件,则在仅传输了3.5 GB的数据后可能会调用downloadDidFinish:,从而导致文件不完整。显然,这引起了很多用户的不满。

我们已经在这个问题上花了很多时间,但没有取得太大进展。我们已经看到,至少有一种情况下,OS (错误?)调用downloadDidFinish:太早了,这时Mac卷的可用空间就会很小。这让我觉得很奇怪,为什么不调用download:didFailWithError: delegate方法呢?但绝大多数下载不完整的用户都有足够的磁盘空间,所以我们不认为磁盘空间不足是他们的问题。

所以我想我的问题是:你们知道在下载完成之前调用NSURLDownload downloadDidFinish:的原因(除了磁盘空间不足之外)吗?感谢您给我们的任何建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-21 23:42:42

Anoop上面的建议看起来是正确的。我们回到了绘图板上,比以前更好地模拟了服务器端的断开。我们发现,通过这样做,我们的客户端软件将收到NSURLDownload:downloadDidFinish:通知。

就我个人而言,我认为OS在这种情况下会给我们的NSURLDownload对象发送一个“完成”(而不是“失败”)的通知是很奇怪的。但我猜这就是苹果想要的工作方式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13401195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档