一、Reachability中介绍了取得/检测网络状态的方法。
二、使用
1、添加源文件:Reachability.h和Reachability.m
2、添加framework———SystemConfiguration.framework
三、网络状态
Reachability.h定义了三中网络状态
typedef enum{ NotReachable = , //无连接 ReachableViaWiFi, //使用3G/GPRS网络 ReachableViaWWAN //使用WiFi网络 }NetworkStatus;
因此可以这样检查网络状态
Reachability *r = [Reachability reachabilityWithHostName:@“www.apple.com”]; switch([r currentReachabilityStatus]) { case NotReachable: //没有网络连接 break; case ReachableViaWWAN: //使用3G网络连接 break; case ReachableViaWiFi: //使用WiFi网络 break; }
四、检查当前网络环境
// 是否wifi
+ (BOOL) IsEnableWIFI {
return ([[Reachability reachabilityForLocalWiFi] currentReachabilityStatus] != NotReachable);
}
// 是否3G
+ (BOOL) IsEnable3G {
return ([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] != NotReachable);
}
例子:
- (void)viewWillAppear:(BOOL)animated {
if (([Reachability reachabilityForInternetConnection].currentReachabilityStatus == NotReachable) &&
([Reachability reachabilityForLocalWiFi].currentReachabilityStatus == NotReachable)) {
self.navigationItem.hidesBackButton = YES;
[self.navigationItem setLeftBarButtonItem:nil animated:NO];
}
}