由于未捕获的异常“NSInternalInconsistencyException”,线路 [[UIApplication sharedApplication] valueForKey:@"statusBar"] 发生崩溃,原因:“应用程序在 UIApplication 上调用了 -statusBar 或 -statusBarWindow。由于不再有状态栏或状态栏窗口,因此必须更改此代码。
但没有提及如何获取 wifi 信号强度或其他状态栏信息(例如网络栏)。 任何人都可以建议我是否有任何其他 API 或方法来获取这些信息?
最佳答案
UIStatusBarManager *statusBarManager = [UIApplication sharedApplication].keyWindow.windowScene.statusBarManager;
if ([statusBarManager respondsToSelector:@selector(createLocalStatusBar)]) {
UIView *_localStatusBar = [statusBarManager performSelector:@selector(createLocalStatusBar)];
if ([_localStatusBar respondsToSelector:@selector(statusBar)]) {
_statusBar = [_localStatusBar performSelector:@selector(statusBar)];
NSLog(@"🌶%@",[[[[_statusBar valueForKey:@"_statusBar"] valueForKey:@"_currentAggregatedData"] valueForKey:@"_wifiEntry"] valueForKey:@"displayValue"]);
}
}
关于crash - 如何使用 [[UIApplication sharedApplication] valueForKey : @"statusBar"] on ios13? 获取 wifi 信号强度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57436569/