SCNetworkReachabilityGetFlags给出了错误的结果

时间:2011-11-14 11:13:48

标签: iphone ios nsurlconnection connectivity

  

可能重复:
  SCNetworkReachabilityGetFlags returns 0 even when wireless available

我们正在使用SCNetworkReachabilityGetFlags来确定互联网连接是否可用。在某些手机上,它偶尔会提供错误的信息,说无法访问某些主机或IP地址。无论如何忽略标志并启动请求时,一切正常。

这个答案表明,再次打开和关闭飞机模式会释放缓存SCNetworkReachabilityGetFlags可能正在使用: SCNetworkReachabilityGetFlags returns 0 even when wireless available

显然,从可用性的角度来看,这不是一个真正的选择。有没有人遇到过同样的问题?是否有检查可达性的替代方法?

2 个答案:

答案 0 :(得分:0)

我的重置网络设置我的工作。

答案 1 :(得分:0)

你也可以使用一个很好的NSURL方法,

- (BOOL)checkResourceIsReachableAndReturnError:(NSError **)error

NSURL Developer documentation

如果您希望在网络脱机(或在线)时收到通知,这当然不会非常有用,就像您可以使用系统配置一样。

在我的Mac应用程序中,我有一个看门狗(20秒计时器),因为SystemConfiguration对我来说并不总是足够可靠。