可达性不起作用

时间:2016-05-18 13:20:33

标签: ios iphone reachability

我使用此方法检查连接:

- (BOOL)networkConnection {
    return [[Reachability reachabilityWithHostName:@"http://medsolutions.ru"] currentReachabilityStatus];
}

它全部在模拟器和iPhone 6上工作,但不适用于iPhone 4S。我的意思是,阻止:

if (!([self networkConnection] == NotReachable)){

始终返回false,表示没有连接,但实际上它是通过Wi-Fi连接的。

3 个答案:

答案 0 :(得分:3)

该方法返回NetworkStatus enum,而不是BOOL

- (NetworkStatus)networkConnection {
    return [[Reachability reachabilityWithHostName:@"http://medsolutions.ru"] currentReachabilityStatus];
}

你必须忽略几个编译器警告才能做到这一点。不是个好主意。

答案 1 :(得分:2)

我正在检查我的某个项目中的可恢复性,例如

 if ([[Reachability reachabilityForInternetConnection]currentReachabilityStatus]==NotReachable)
    {
        NSLog(@"not available");
    }
 else{   
         NSLog(@"available");
    }

如果你想检查特定主机,那么

  if ([[Reachability reachabilityWithHostName:@"http://medsolutions.ru"]currentReachabilityStatus] == NotReachable) {

     NSLog(@"not available");
}
else{   
     NSLog(@"available");
}

希望这会有所帮助:)

答案 2 :(得分:0)

您可以尝试这个评价较高的第三方https://github.com/tonymillion/Reachability  它在我的项目中完美运作