1.使用Reachability检测 需要使用Reachability.h,Reachability.m文件
网址
https://developer.apple.com/library/ios/samplecode/Reachability/Listings/Reachability_Reachability_m.html
//使用ReachAblity检测网络状态
-(void)networkReachable{
//访问网站的网址
NSString *str = @"www.baidu.com";
//创建访问该网站的Reachability
Reachability *reach = [Reachability reachabilityWithHostName:str];
//判断该设备的网路状态
switch ([reach currentReachabilityStatus]) {
case NotReachable:
[self showAlert:@"不能访问"];
break;
case ReachableViaWWAN:
[self showAlert:@"使用移动网络访问"];
break;
case ReachableViaWiFi:
[self showAlert:@"使用wifi网络访问"];
break;
default:
break;
}
}
-(void)showAlert:(NSString *)str{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:nil cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
[alert show];
}
//使用AFNetWorking 检测网络状态
-(void)networkReachable{
//网络监测对象 (单例)
AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
//设置网络状态发生变化的回调
[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
switch (status) {
case -1:{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"未知状态" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
[alert show];
break;
}
case 0:{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"断网状态" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
[alert show];
break;
}
case 1:{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"移动数据状态" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
[alert show];
break;
}
case 2:{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"wifi状态" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
[alert show];
break;
}
default:
break;
}
}];点击打开链接
//开启监测
[manager startMonitoring];
}