iOS 手机网络类型和运营商怎么获取
2016-11-18 14:54
791 查看
Reachability 只能判断是WiFi还是蜂窝网络,无法获取到具体的类型是3G还是4G,现在获取手机网络类型可以直接使用苹果原生API了:
首先我们导入库 CoreTelephony.framework
然后在我们的类中加入下面头文件
下面是获取网络环境的方法:
基本原理是从UIApplication类型中通过valueForKey获取内部属性statusBar。然后筛选一个内部类型(UIStatusBarDataNetworkItemView),最后返回他的dataNetworkType属性。
下面是如何获取运营商名称:
转自:http://blog.csdn.net/dean19900504/article/details/44648583
首先我们导入库 CoreTelephony.framework
然后在我们的类中加入下面头文件
#import <CoreTelephony/CTTelephonyNetworkInfo.h> #import <CoreTelephony/CTCarrier.h>
下面是获取网络环境的方法:
基本原理是从UIApplication类型中通过valueForKey获取内部属性statusBar。然后筛选一个内部类型(UIStatusBarDataNetworkItemView),最后返回他的dataNetworkType属性。
//获取联网方式 -(NSString *)networkType { NSArray *subviews = [[[[UIApplication sharedApplication] valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews]; NSNumber *dataNetworkItemView = nil; for (id subview in subviews) { if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView") class]]) { dataNetworkItemView = subview; break; } } NSString *networkType = nil; switch ([[dataNetworkItemView valueForKey:@"dataNetworkType"] integerValue]) { case 0: networkType = @"无服务"; break; case 1: networkType = @"2G"; break; case 2: networkType = @"3G"; break; case 3: networkType = @"4G"; break; case 4: networkType = @"LTE"; break; case 5: networkType = @"Wifi"; break; default: break; } return networkType; }
下面是如何获取运营商名称:
//获取运营商信息 -(NSString *)getCarrierName { CTTelephonyNetworkInfo *telephonyInfo = [[CTTelephonyNetworkInfo alloc] init]; CTCarrier *carrier = [telephonyInfo subscriberCellularProvider]; NSString *currentCountry = [carrier carrierName]; return currentCountry; }
转自:http://blog.csdn.net/dean19900504/article/details/44648583
相关文章推荐
- iOS 手机网络类型和运营商怎么获取
- ios获取手机状态 idfa idfv 网络类型 分辨率 获取运营商 ip
- iOS:关于获取网络类型和运营商信息
- iOS开发 - 如何获取设备的总容量和可用容量 网络运营商 3g/wifi判断 手机型号
- iOS状态栏获取网络类型,运营商,电池电量,显示的系统时间等信息
- IOS模拟器能获取运营商信息,网络连接类型以及地理位置吗?
- iOS:关于获取网络类型和运营商信息
- ios如何获取手机的网络状态和运营商名称
- iOS:关于获取网络类型和运营商信息
- iOS:关于获取网络类型和运营商信息
- iOS获取网络类型和运营商信息
- iOS状态栏获取网络类型,运营商,电池电量,显示的系统时间等信息
- iOS开发 - 如何获取设备的总容量和可用容量 网络运营商 3g/wifi判断 手机型号
- 获取手机品牌机型 手机运营商 以及数据流量类型 是2G还是3G,4G 和 获取手机当前网络类型
- IOS模拟器能获取运营商信息,网络连接类型以及地理位置吗?
- ios如何获取手机的网络状态和运营商名称
- iOS状态栏操作之获取WiFi信号强度,WiFi名字和IP,网络类型,运营商,电池电量,系统时间等
- ios如何获取手机的网络状态和运营商名称
- iOS:关于获取网络类型和运营商信息
- iOS 关于获取网络类型和运营商信息