iPhone:如何在没有主机的情况下使用Reachability?

时间:2012-04-06 09:26:09

标签: iphone reachability

在我的应用程序中,如果用户没有互联网连接,我需要显示“无互联网连接”消息。

使用可达性:

Reachability *netReach = [Reachability reachabilityWithHostName:@"host.name"];

是个坏主意,因为互联网可用,但主机不是,对吗?

那么如何在没有主机的情况下检查互联网连接?感谢...

2 个答案:

答案 0 :(得分:1)

Reachability *internetReachable = [Reachability reachabilityForInternetConnection];
[internetReachable startNotifier];
if(internetReachable.isReachable)
    NSLog(@"True");

答案 1 :(得分:0)

你是对的。可达性仅检查某个主机是否可访问。问题是,如果没有向主机发送请求,我无法(如果能想到的话)如何确定您是否连接到互联网。

那么你可以做什么(以及Apple在其可达性示例中做了什么):选择一个主机,你可以99.99%确定主机可用。例如google.com或apple.com

我认为苹果依赖某个主机来检查互联网连接的事实(以及他们没有提出别的东西,而不依赖某个主机这一事实)是一个相当好的迹象,以这种方式检查互联网连接并不是一个坏主意。

修改

当然,最好的方法(如Petesh指向的问题的答案中所述)将简单地发出您想要的请求,然后相应地处理错误(如果它们发生)。换句话说:1。提出请求2.如果失败,请使用可达性来查看是否存在丢失的互联网连接问题