iOS最简单方法判断网络类型——通过状态栏显示

类方法。。。。。。。

  网络类型
typedef enum {
    NETWORK_TYPE_NONE = 0,
    NETWORK_TYPE_2G = 1,
    NETWORK_TYPE_3G = 2,
    NETWORK_TYPE_4G = 3,
    NETWORK_TYPE_5G = 4,//  5G目前为猜测结果
    NETWORK_TYPE_WIFI = 5,
}NETWORK_TYPE;

+(NSString *)getNetTypeByGetNetworkTypeFromStatusBar{

    UIApplication *app = [UIApplication sharedApplication];
    NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews];
    NSNumber *dataNetworkItemView = nil;

    for (id subview in subviews) {
        if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView") class]])     {
            dataNetworkItemView = subview;
            break;
        }
    }
    NETWORK_TYPE nettype = NETWORK_TYPE_NONE;
    NSNumber * num = [dataNetworkItemView valueForKey:@"dataNetworkType"];
    nettype = [num intValue];

    NSString *retureStr;
    switch (nettype) {
        case 0:
        {
            retureStr = @"无网络";
        }
            break;
        case 1:
        {
            retureStr = @"2G网络";
        }
            break;

        case 2:
        {
            retureStr = @"3G网络";
        }
            break;

        case 3:
        {
            retureStr = @"4G网络";
        }
            break;

        case 4:
        {
            retureStr = @"5G网络";
        }
            break;

        case 5:
        {
            retureStr = @"WiFi网络";
        }
            break;
    }

//    NSLog(@"retureStr = %@",retureStr);
    return retureStr;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值