Ios 可达性不起作用
我使用此方法检查连接:Ios 可达性不起作用,ios,iphone,reachability,Ios,Iphone,Reachability,我使用此方法检查连接: - (BOOL)networkConnection { return [[Reachability reachabilityWithHostName:@"http://medsolutions.ru"] currentReachabilityStatus]; } 它可以在模拟器和iPhone6上运行,但不能在iPhone4S上运行。我是说,布洛克: if (!([self networkConnection] == NotReachable)){ 始终返回fa
- (BOOL)networkConnection {
return [[Reachability reachabilityWithHostName:@"http://medsolutions.ru"] currentReachabilityStatus];
}
它可以在模拟器和iPhone6上运行,但不能在iPhone4S上运行。我是说,布洛克:
if (!([self networkConnection] == NotReachable)){
始终返回false,这意味着没有连接,但实际上它是通过wi-fi连接的。该方法返回的是
网络状态enum
,而不是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");
}
希望这会有所帮助:)您可以尝试这个高评级的第三方
它在我的项目中运行得非常好我已经在回答中修复了它。更改方法的返回类型。谢谢。但是我必须承认我没有任何编译器警告,BOOL
≠ <代码>NSInteger
。