可达性不起作用

Reachability not work

我用这个方法检查连接:

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

它在模拟器和 iPhone 6 上都能正常工作,但不能在 iPhone 4S 上工作。我的意思是,阻止:

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

总是returnfalse,表示没有连接,实际上是wifi连接的

那个方法returns是NetworkStatusenum,不是BOOL:

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

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

我正在检查我的一个项目的可达性,例如,

 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");
}

希望这会有所帮助:)

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