#import "Reachability.h"
(1)使用同步的方式是比較簡單,通過代碼檢查網絡:
Reachability *reach = [Reachability reachabilityForInternetConnection];
NetworkStatus status = [reach currentReachabilityStatus];
(2)通過檢查某個主機能否訪問來判斷當前網絡是否可用:
Reachability *reach = [Reachability reachabilityWithHostName:@“www.baidu.com”];
NetworkStatus status = [reach currentReachabilityStatus]; ?
ReachableViaWWAN ?3G 網絡
ReachableViaWiFi ? WiFi網絡
NotReachable ?無網絡
(3)實時監測網絡狀態
@property(nonatomic,strong)Reachability*reachability;
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(netStatusChanged:)name:kReachabilityChangedNotification object:nil];
self.reachability= [ReachabilityreachabilityWithHostName:@"www.baidu.com"];
[self.reachability startNotifier];
}
-(void)netStatusChanged:(NSNotification*)notification{
Reachability*currentStatus = [notificationobject];
NSParameterAssert([currentStatus isKindOfClass:[Reachability class]]);
NetworkStatus status = [currentStatus currentReachabilityStatus];
if(status==NotReachable) {
UIAlertView*alert = [[UIAlertView alloc]initWithTitle:@"溫馨提示"message:@"網絡不可用"delegate:nil cancelButtonTitle:@"確定"otherButtonTitles:nil];
[alert show];
return;
}
}