(IOS)ios11状态栏中图标判断当前网络的具体状态 iPhoneX崩溃问题

报出以下错误: Trapped uncaught exception 'NSUnknownKeyException', reason: '[valueForUndefinedKey:]: this class is not key value coding-compliant for the key foregroundView.' 

IOS11以后,使用状态栏中图标判断当前网络的具体状态 iPhoneX的状态栏是多嵌套了一层,要多取一次

不能用 [[self deviceVersion] isEqualToString:@"iPhone X"] 来判断,因为模拟器不会返回 iPhone X


适配方法:

UIApplication *app = [UIApplication sharedApplication];

 NSArray*children;

 if([[app valueForKeyPath:@"_statusBar"]

          isKindOfClass:NSClassFromString(@"UIStatusBar_Modern")])

    {

        children= [[[[appvalueForKeyPath:@"_statusBar"]

             valueForKeyPath:@"_statusBar"]

            valueForKeyPath:@"foregroundView"]

           subviews];

    }else{

        children= [[[appvalueForKeyPath:@"_statusBar"]

            valueForKeyPath:@"foregroundView"]

           subviews];

    }

你可能感兴趣的:((IOS)ios11状态栏中图标判断当前网络的具体状态 iPhoneX崩溃问题)