http://www.xmsdn.net/iso/iphone-wifi-2g-3g-4g/
//// 网络类型
| |
| 03 |
|
| 04 |
typedef enum { |
| 05 |
NETWORK_TYPE_NONE= 0, |
| 06 |
NETWORK_TYPE_2G= 1, |
| 07 |
NETWORK_TYPE_3G= 2, |
| 08 |
NETWORK_TYPE_4G= 3, |
| 09 |
NETWORK_TYPE_5G= 4,// 5G目前为猜测结果 |
| 10 |
NETWORK_TYPE_WIFI= 5, |
| 11 |
}NETWORK_TYPE;
|
| 12 |
|
| 13 |
+(NETWORK_TYPE)getNetworkTypeFromStatusBar { |
| 14 |
|
| 15 |
UIApplication *app = [UIApplication sharedApplication]; |
| 16 |
NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews]; |
| 17 |
NSNumber *dataNetworkItemView = nil; |
| 18 |
|
| 19 |
for (id subview in subviews) { |
| 20 |
if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView") class]]) { |
| 21 |
dataNetworkItemView = subview;
|
| 22 |
break;
|
| 23 |
}
|
| 24 |
}
|
| 25 |
NETWORK_TYPE nettype = NETWORK_TYPE_NONE;
|
| 26 |
NSNumber * num = [dataNetworkItemView valueForKey:@"dataNetworkType"]; |
| 27 |
nettype = [num intValue]; |
| 28 |
|
| 29 |
return nettype;
|
| 30 |
}
|
本文提供了一段使用Swift语言获取iOS设备当前网络类型(2G、3G、4G、5G、WIFI)的代码实现。通过遍历statusBar的子视图,找到数据网络状态视图并解析其数据网络类型属性来获取网络类型。
1615

被折叠的 条评论
为什么被折叠?



