报错原因:
[<UIStatusBar_Modern 0x12f8084b0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key foregroundView.
解决方法:
NSArray *subviews = nil;
// 不能用 [[self deviceVersion] isEqualToString:@"iPhone X"] 来判断,因为模拟器不会返回 iPhone X
id statusBar = [[UIApplication sharedApplication] valueForKeyPath:@"statusBar"];
if ([statusBar isKindOfClass:NSClassFromString(@"UIStatusBar_Modern")]) {
subviews = [[[statusBar valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews];
} else {
subviews = [[statusBar valueForKey:@"foregroundView"] subviews];
}