iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了NSURLConnectionDownloadDelegate expectedTotalBytes iOS 6中的零大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个问题

connection:didWriteData:totalBytesWritten:expectedTotalBytes:

NSURLConnectionDownloadDelegate的方法
在iOS 6下.

在iOS 5模拟器下它工作正常,给我正确的expectedTotalBytes值.

在iOS 6 Simulator上,expectedTotalBytes始终返回0. totalBytesWritten值仍然是正确的.

它是相同的请求,相同的URL,只是操作系统版本不同.

有没有人遇到类似的问题或有任何想法可能导致这个?

干杯

解决方法

花了很多时间调查同一个问题.事实证明,在iOS6中,首先使用HEAD来调查标头,这不是那么异常.

但是,似乎忽略了对实际GET请求的响应的标题.因此,如果您的服务器不支持HEAD或针对给定URL返回HEAD请求的0内容长度,则iOS NSURLConnection将使用错误信息.

我的问题是我的自定义服务器不支持我正在下载的文件的HEAD请求,而是返回405(不允许HTTP错误405方法),它在自己的响应中包含一个内容长度,然后iOS6在返回expectedTotalBytes时使用,而不是从GET响应中纠正一个.

为了解决我的问题,我首先为我的文件下载请求启用了HEAD,然后确保返回了正确的内容长度.验证:

curl -v -I http://url
...
< Content-Length: 23493947
Content-Length: 23493947

不确定这是iOS6中的错误还是更好地符合HTTP标准.希望能帮助别人.

大佬总结

以上是大佬教程为你收集整理的NSURLConnectionDownloadDelegate expectedTotalBytes iOS 6中的零全部内容,希望文章能够帮你解决NSURLConnectionDownloadDelegate expectedTotalBytes iOS 6中的零所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: