类方法。。。。。。。
网络类型
typedef enum {
NETWORK_TYPE_NONE = 0,
NETWORK_TYPE_2G = 1,
NETWORK_TYPE_3G = 2,
NETWORK_TYPE_4G = 3,
NETWORK_TYPE_5G = 4,// 5G目前为猜测结果
NETWORK_TYPE_WIFI = 5,
}NETWORK_TYPE;
+(NSString *)getNetTypeByGetNetworkTypeFromStatusBar{
UIApplication *app = [UIApplication sharedApplication];
NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews];
NSNumber *dataNetworkItemView = nil;
for (id subview in subviews) {
if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView") class]]) {
dataNetworkItemView = subview;
break;
}
}
NETWORK_TYPE nettype = NETWORK_TYPE_NONE;
NSNumber * num = [dataNetworkItemView valueForKey:@"dataNetworkType"];
nettype = [num intValue];
NSString *retureStr;
switch (nettype) {
case 0:
{
retureStr = @"无网络";
}
break;
case 1:
{
retureStr = @"2G网络";
}
break;
case 2:
{
retureStr = @"3G网络";
}
break;
case 3:
{
retureStr = @"4G网络";
}
break;
case 4:
{
retureStr = @"5G网络";
}
break;
case 5:
{
retureStr = @"WiFi网络";
}
break;
}
// NSLog(@"retureStr = %@",retureStr);
return retureStr;
}