我使用此方法检查连接:
- (BOOL)networkConnection {
return [[Reachability reachabilityWithHostName:@"http://medsolutions.ru"] currentReachabilityStatus];
}
它全部在模拟器和iPhone 6上工作,但不适用于iPhone 4S。我的意思是,阻止:
if (!([self networkConnection] == NotReachable)){
始终返回false,表示没有连接,但实际上它是通过Wi-Fi连接的。
答案 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 它在我的项目中完美运作