问题描述
|
我有一个程序可以将4个文件异步下载到ipad的Documents文件夹中,并且在模拟器上可以完美运行,但是当我在实际的ipad上使用它时,会出现以下错误:
Error Domain=ASIHTTPRequestErrorDomain Code=2 \"The request timed out\" UserInfo=0x1c0810 {NSLocalizedDescription=The request timed out}
有什么办法可以解决这个问题,或延长时间直到超时?
解决方法
之所以在模拟器中获得更好的结果,可能是因为模拟器使用了内置的网卡,而Mac的网卡可能比iPad中的网卡更坚固。
您可以使用以下代码更改超时间隔。这段代码会将超时设置为二十秒:
[request setTimeOutSeconds:20]
根据ASIHTTPRequest \“如何使用\”页面,您可以告诉ASIHTTPRequest重试N次,如下所示:
[request setNumberOfTimesToRetryOnTimeout:2];
编辑:
尽管已经过时了2016年,并且ASIHTTPRequest已被弃用很久了,但是还有一些有用的信息可以帮助诊断iOS设备上的网络问题。尝试使用网络链接调节器。它随iOS一起提供,可以在macOS上下载。
NSHipster的这篇文章(链接)提供了一些有关设置的重要信息。
, 此问题的原因可能是以下原因。当我们发送一个httprequest
并且没有收到服务器的响应时,但是此时您再次发送另一个ѭ3and,并且第二个请求又收到了第一个请求之前的响应。