(原创)iOS支持iPhone X下的获取StatusBar的网络状态

来源:互联网 发布:python sleep import 编辑:程序博客网 时间:2024/05/22 19:38
//获取statusBar的网络状态//支持iPhone X- (NSString *)getNetWorkStates{    NSArray *children;    UIApplication *app = [UIApplication sharedApplication];    NSString *state = [[NSString alloc] init];    //iPhone X    if ([[app valueForKeyPath:@"_statusBar"] isKindOfClass:NSClassFromString(@"UIStatusBar_Modern")]) {        children = [[[[app valueForKeyPath:@"_statusBar"] valueForKeyPath:@"_statusBar"] valueForKeyPath:@"foregroundView"] subviews];        for (UIView *view in children) {            for (id child in view.subviews) {                //wifi                if ([child isKindOfClass:NSClassFromString(@"_UIStatusBarWifiSignalView")]) {                    state = @"wifi";                }                //2G 3G 4G                if ([child isKindOfClass:NSClassFromString(@"_UIStatusBarStringView")]) {                    if ([[child valueForKey:@"_originalText"] containsString:@"G"]) {                        state = [child valueForKey:@"_originalText"];                    }                }            }        }        if (![state isStringValid]) {            state = @"无网络";        }    }else {        children = [[[app valueForKeyPath:@"_statusBar"] valueForKeyPath:@"foregroundView"] subviews];        for (id child in children) {            if ([child isKindOfClass:NSClassFromString(@"UIStatusBarDataNetworkItemView")]) {                //获取到状态栏                switch ([[child valueForKeyPath:@"dataNetworkType"] intValue]) {                    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;}
阅读全文
0 0
原创粉丝点击