你的位置:首页 > 操作系统

[操作系统]iOS 获取网络状态


在iOS开发者,获取网络状态比较常用

 

-(NSString *)getNetWorkStates{    UIApplication *app = [UIApplication sharedApplication];  NSArray *children = [[[app valueForKeyPath:@"statusBar"]valueForKeyPath:@"foregroundView"]subviews];  NSString *state = nil;  int netType = 0;  //获取到网络返回码  for (id child in children) {    if ([child isKindOfClass:NSClassFromString(@"UIStatusBarDataNetworkItemView")]) {      //获取到状态栏      netType = [[child valueForKeyPath:@"dataNetworkType"]intValue];            switch (netType) {        case 0:          state = @"无网络";          //无网模式          break;        case 1:          state = @"2G";          break;        case 2:          state = @"3G";          break;        case 3:          state = @"4G";          break;        case 5:        {          state = @"WIFI";        }          break;        default:          break;      }    }  }  //根据状态选择  return state;}