我遇到了一个我无法理解的错误,现在它只在特定设备上发生。它发生在配备iOS 6的iPhone 5上,但不幸的是我无法访问另一个,以检查它是否与iPhone 5相关。
问题是,对我们的服务器API发出的某些特定网络请求超时,虽然连接速度很快,似乎没有服务器端问题,因为服务器正常响应来自其他设备的相同请求。
我使用AFNetworking
发出我的http请求。
我已经将AFHTTPClient
子类化了,对于该特定请求,我将其用作此
[[MyClient sharedInstance] putPath:@"myPath"
parameters:[NSDictionary dictionaryWithObject:@"y" forKey:@"set"]
success:^(AFHTTPRequestOperation *operation, id responseObject){
// do something with response
}
failure:^(AFHTTPRequestOperation *operation, NSError *error){
// tell user there an error occurred
}];
如果有人指出我正在发生的一些可能原因或要分析的事情以了解正在发生的事情,我将不胜感激。
答案 0 :(得分:2)
这个问题与AFNetworking和特定设备之间的相互作用几乎为零 - 很可能是其中之一。
AFNetworking确实提供了连接变化的内置检测。使用AFHTTPClient
的{{1}}方法设置块。这将告诉您何时丢失互联网连接,并允许您根据需要调整应用的行为。
此Stack Overflow question提供了示例代码和设置说明。
以下是-setReachabilityStatusChangeBlock:
变量的值,供您参考:
status
您可以尝试将问题与设备隔离开来:
•下载Fing并比较不同设备上的网络性能
进行数据速度测试•检查设备的parental controls以查看是否有任何内容与您应用的行为发生冲突
•在iTunes中恢复设备,无需从备份恢复
答案 1 :(得分:0)
答案 2 :(得分:0)
我的建议是检查你的iphone wifi网络。这种情况发生在我以前,当我连接到我公司的公司网络时,我试图连接到我的服务器并且有一个请求超时。这可能是由于一些代理问题。
首先是你的服务器内联网?如果不是,请尝试使用3G连接到服务器。
如果是内联网,请尝试查找替代公司网络,或者如果您的公司有一个
,请使用VPN