首页 > 代码库 > Reachability检测网络状态
Reachability检测网络状态
在现在的项目开发当中,监测网络是否正常非常有必要的。Reachability检测网络可以检测WiFi 3G 无线局域网
使用Reachability
下载Reachability,将Reachability添加到项目当中,在要检测网的类当中添加
#import <Reachability.h>
// 开启网络状态的监听
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
self.reachability = [Reachability reachabilityWithHostName:@"www.baidu.com"];
[self.reachability startNotifier];//开始监听
在方法reachabilityChanged:中写改变网络要做的事
//网络状态改变时调用方法
-(void)reachabilityChanged:(NSNotification *)note
{
Reachability *currReach = [note object];
NSParameterAssert([currReach isKindOfClass:[Reachability class]]);
self.status = [currReach currentReachabilityStatus];
self.isReachable = YES;
switch (self.status) {
case NotReachable:
{
UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"网络状态" message:@"亲!没有网络哦!" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
[alertView show];
self.isReachable = NO;
}
break;
case ReachableViaWiFi:
{
UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"网络状态" message:@"已连接WiFi!" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
[alertView show];
self.isReachable = YES;
}
break;
case ReachableViaWWAN:
{
self.isReachable = YES;
}
break;
default:
break;
}
}
也可以直接写在AppDelegate当中。
Reachability检测网络状态