(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];

    }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容