在我的例子中,我无法使用 Reachability
类,因为我在无法访问互联网的 wifi 网络中使用 iPhone。这只是一个Intranet wifi。
这意味着,Reachability
类将返回Not Reachable
。
最佳答案
-(void)newtworkType {
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;
}
}
switch ([[dataNetworkItemView valueForKey:@"dataNetworkType"]integerValue]) {
case 0:
NSLog(@"No wifi or cellular");
break;
case 1:
NSLog(@"2G");
break;
case 2:
NSLog(@"3G");
break;
case 3:
NSLog(@"4G");
break;
case 4:
NSLog(@"LTE");
break;
case 5:
NSLog(@"Wifi");
break;
default:
break;
}
}
关于ios - 如何在不使用 Reachability 类的情况下获取 iPhone 当前的事件网络类型(wifi 或 3G),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20779077/