判断网络类型
获取网络数据类型,需要导入一个苹果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; }