zoukankan      html  css  js  c++  java
  • 判断网络类型

    获取网络数据类型,需要导入一个苹果api文件:Reachability(可以直接在官方上下载),里面的枚举类型就是对应网络类型 kSCNetworkReachabilityFlagsIsWWAN、 kSCNetworkReachabilityFlagsReachable、kSCNetworkReachabilityFlagsTransientConnection、 kSCNetworkReachabilityFlagsConnectionRequired kSCNetworkReachabilityFlagsConnectionOnTraffic、kSCNetworkReachabilityFlagsInterventionRequired、 kSCNetworkReachabilityFlagsConnectionOnDemand、 kSCNetworkReachabilityFlagsIsLocalAddress、kSCNetworkReachabilityFlagsIsDirect

    自定义的一个返回方法:

    #pragma mark - 判断网络类型
    
    + (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;
    }
    
  • 相关阅读:
    EF6学习笔记二十五:分布式事务
    EF6学习笔记二十四:事务
    EF6学习笔记二十三:拦截器异常、耗时监控
    EF6学习笔记二十二:初识NLog日志框架
    EF6学习笔记二十一:格式化日志输出
    EF6学习笔记二十:简单日志记录
    EF6学习笔记十九:不一样的复杂类型
    EF6学习笔记十八:DetectChanges
    EF6学习笔记十七:快照追踪与代理追踪性能测试
    EF6学习笔记十六:变更追踪
  • 原文地址:https://www.cnblogs.com/angongIT/p/6105266.html
Copyright © 2011-2022 走看看