iOS网络 - AFNetworking检测网络状态

1.创建监听管理者

AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
2.打开检测开始检测网络状态
[manager startMonitoring];
3.监听网络状态的改变

AFNetworking 中四个状态的枚举值如下:

typedef NS_ENUM(NSInteger, AFNetworkReachabilityStatus) {
AFNetworkReachabilityStatusUnknown          = -1, //未知
AFNetworkReachabilityStatusNotReachable     = 0,  //无连接
AFNetworkReachabilityStatusReachableViaWWAN = 1,  //3G
AFNetworkReachabilityStatusReachableViaWiFi = 2,  //WIFI

};

[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status)
{ switch (status)
{
case
AFNetworkReachabilityStatusUnknown:
{ //未知网络 NSLog( @"未知网络");
} break;
  case
AFNetworkReachabilityStatusNotReachable:
{ //无法联网 NSLog( @"无法联网");
 } break;
case AFNetworkReachabilityStatusReachableViaWWAN:
 { //手机自带网络 NSLog( @"当前使用的是2g/3g/4g网络");
} break;
case
AFNetworkReachabilityStatusReachableViaWiFi:
{ //WIFI NSLog( @"当前在WIFI网络下");
} }
 }];



[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
        switch (status) {
            case AFNetworkReachabilityStatusUnknown:
            {
                //未知网络
                NSLog(@"未知网络");
            }
                break;
            case AFNetworkReachabilityStatusNotReachable:
            {
                //无法联网
                NSLog(@"无法联网");
            }
                break;

            case AFNetworkReachabilityStatusReachableViaWWAN:
            {
                //手机自带网络
                NSLog(@"当前使用的是2g/3g/4g网络");
            }
                break;
            case AFNetworkReachabilityStatusReachableViaWiFi:
            {
                //WIFI
                NSLog(@"当前在WIFI网络下");
            }
                
        }
    }];

typedef NS_ENUM( NSInteger, AFNetworkReachabilityStatus) {AFNetworkReachabilityStatusUnknown = -1, //未知AFNetworkReachabilityStatusNotReachable = 0, //无连接AFNetworkReachabilityStatusReachableViaWWAN = 1, //3GAFNetworkReachabilityStatusReachableViaWiFi = 2, //WIFI

example:


AFNetworkReachabilityManager * mgr = [AFNetworkReachabilityManager sharedManager];

    [mgr setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

        // 当网络状态发生改变的时候调用这个block

        switch (status) {

            case AFNetworkReachabilityStatusReachableViaWiFi:

                NSLog(@"WIFI");

                [[NSUserDefaults standardUserDefaults] setObject:@"wifi" forKey:@"network"];

                break;

                

            case AFNetworkReachabilityStatusReachableViaWWAN:

                NSLog(@"自带网络");

                [[NSUserDefaults standardUserDefaults] setObject:@"3g" forKey:@"network"];

                

                break;

                

            case AFNetworkReachabilityStatusNotReachable:

                NSLog(@"没有网络");

                [[NSUserDefaults standardUserDefaults] setObject:@"without" forKey:@"network"];

                

                break;

                

            case AFNetworkReachabilityStatusUnknown:

                NSLog(@"未知网络!");

                [[NSUserDefaults standardUserDefaults] setObject:@"unknown" forKey:@"network"];

                

                break;

            default:

                break;

        }    }];

    // 开始监控

    [mgr startMonitoring];



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值