2011-07-01 67 views
16

经常,我的iPhone应用程序进入网络请求总是超时的状态,即使其他应用程序正常工作(甚至可以访问相同的网站)。这与网络可用性的变化显然没有关系,并且发生在3G和WiFi上。有关如何诊断问题的任何建议?iPhone应用程序进入网络请求永远不会完成的状态

(FWIW,应用程序使用MonoTouch的和HttpWebRequest的,但我怀疑什么地方出了错是-水平。)

注:问题通过backgrounding应用程序,并更改网络配置仍然存在;唯一的解决办法似乎是杀死应用程序并重新启动它。

更新:我试过使用Reachability,但没有效果。 Reachability.InternetConnectionStatus总是返回ReachableViaWiFiNetwork(或ReachableViaCarrierDataNetwork,取决于;同样IsHostReachable()总是返回true Runtime.StartWWAN()似乎没有什么区别

+0

我遇到同样的问题。它是间歇性的。我正在使用MKNetworkKit。 –

+1

希望我能帮忙 - 目前我还没有为iPhone开发。从来没有让这个问题得到解决,结果更容易转换工作,而不是继续从我的老板那里接受虐待。 :P –

+1

BOOOOOO !!!!!!!! –

回答

6

有在https://bugzilla.novell.com/show_bug.cgi?id=555439这个开放的一个bug,在解决它有几个尝试作为最后的评论。在bug,有人推测固定的,但我想,如果你正在使用MonoTouch的4.0.3然后有一些案件不在身边的工作

基本上,这个问题体现在这个其他问题#1:iPhone 3G Connection Enabling

MonoTouch做什么尝试和解决此问题的方法是调用MonoTouch.Runtime.StartWWAN(Uri),它使用NSUrlConnection强制唤醒网络接口,从而打开到uri的虚拟连接。然后,MonoTouch返回在HttpWebRequest中使用BSD套接字API。

+1

是的,'StartWWAN()'似乎没有帮助。我正在尝试[Miguel's](http://stackoverflow.com/users/16929/miguel-de-icaza)[port](https://github.com/migueldeicaza/monotouch-samples/blame/master/reachability/ reachability.cs)[Reachability](http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html),看看是否有所作为。 –

0

尝试设置用于拨打电话的NSURLRequesttimeOutInterval属性。

相关问题