使用苹果自带的:Reachability
定义网络类别枚举类型
// 网络类别枚举类型typedef NS_ENUM(NSUInteger, NetWorkType) {NetWorkTypeNone = 0, // 无网NetWorkType2G = 1, // 2GNetWorkType3G = 2,// 3GNetWorkType4G = 3,// 4GNetWorkTypeWiFI = 5, // wifi};
获取网络类型
+ (NSString *) getConnectionType{Reachability *reachability = [Reachability reachabilityWithHostName:@""];NetworkStatus internetStatus = [reachability currentReachabilityStatus];NSString *net = @"无网络";switch (internetStatus) {case ReachableViaWiFi:net = @"WIFI";break;case ReachableViaWWAN:net = [self getNetType]; //判断具体类型break; case NotReachable:net = @"无网络";default:break;}return net;}+ (NSString *)getNetType{CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init];NSString *currentStatus = info.currentRadioAccessTechnology;NSString *netconnType;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";}return netconnType;}
导入文件Reachability.h Reachability.m
链接: /s/1Vn-W80RCb10odXkYUbk2zg 提取码: vu3x 复制这段内容后打开百度网盘手机App,操作更方便哦