美文网首页
网络监测

网络监测

作者: 移动端_小刚哥 | 来源:发表于2017-12-05 19:00 被阅读8次

    要获取当前网络状态(Wi-Fi、4G、3G)

    + (NSString *)getNetconnType{
        
        NSString *netconnType = @"";
        Reachability *reach = [Reachability reachabilityWithHostName:@"www.apple.com"];
        switch ([reach currentReachabilityStatus]) {
            case NotReachable:// 没有网络
            {
                netconnType = @"no network";
            }
            break;
            case ReachableViaWiFi:// Wifi
            {
                netconnType = @"Wifi";
            }
            break;
                
                
            case ReachableViaWWAN:// 手机自带网络
            {
                // 获取手机网络类型
                CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init];
                NSString *currentStatus = info.currentRadioAccessTechnology;
                if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyGPRS"]) {
                    netconnType = @"GPRS";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyEdge"]) {
                    netconnType = @"2.75G EDGE";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyWCDMA"]){
                    netconnType = @"3G";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyHSDPA"]){
                    netconnType = @"3.5G HSDPA";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyHSUPA"]){
                    netconnType = @"3.5G HSUPA";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyCDMA1x"]){
                    netconnType = @"2G";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyCDMAEVDORev0"]){
                    netconnType = @"3G";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyCDMAEVDORevA"]){
                    netconnType = @"3G";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyCDMAEVDORevB"]){
                    netconnType = @"3G";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyeHRPD"]){
                    netconnType = @"HRPD";
                }else if ([currentStatus isEqualToString:@"CTRadioAccessTechnologyLTE"]){
                    netconnType = @"4G";
                }
            }
                break;
            default:
                break;
        }
        return netconnType;
    }
    

    每一项是什么意思不太清楚,但是有时候要用区分2G、3G、4G和wifi

    /*
                 NSArray *typeStrings2G = @[CTRadioAccessTechnologyEdge,
                 CTRadioAccessTechnologyGPRS,
                 CTRadioAccessTechnologyCDMA1x];
                 
                 NSArray *typeStrings3G = @[CTRadioAccessTechnologyHSDPA,
                 CTRadioAccessTechnologyWCDMA,
                 CTRadioAccessTechnologyHSUPA,
                 CTRadioAccessTechnologyCDMAEVDORev0,
                 CTRadioAccessTechnologyCDMAEVDORevA,
                 CTRadioAccessTechnologyCDMAEVDORevB,
                 CTRadioAccessTechnologyeHRPD];
                 
                 NSArray *typeStrings4G = @[CTRadioAccessTechnologyLTE];
                 */
    

    相关文章

      网友评论

          本文标题:网络监测

          本文链接:https://www.haomeiwen.com/subject/lkacixtx.html