从状态栏崩溃中获取蜂窝信号

Ash*_*ish 3 uistatusbar ios11 xcode9 iphone-x

下面是我的代码,我试图通过状态栏获得信号强度.

UIApplication *app = [UIApplication sharedApplication];
NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews];
Run Code Online (Sandbox Code Playgroud)

发生崩溃(iOS 11,Xcode 9,iPhone X): -

[UIStatusBar_Modern valueForUndefinedKey:]:此类不是键值前景视图的键值编码兼容

小智 6

你可以用它

NSArray *subviews = nil;
id statusBar = [[UIApplication sharedApplication] valueForKey:@"statusBar"];
if ([statusBar isKindOfClass:NSClassFromString(@"UIStatusBar_Modern")]) {
    subviews = [[[statusBar valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews];
} else {
    subviews = [[statusBar valueForKey:@"foregroundView"] subviews];
}
Run Code Online (Sandbox Code Playgroud)