iOS12适配及问题记录
版本信息
Xcode: Version 10.0 beta (10L176w)
macOS: 10.14 Beta (18A293u)
iOS: 12.0(16A5288q)
问题及解决过程
1,StatusBar内部结构改变
现象:crash
crash log:
-[_UIStatusBarIdentifier isEqualToString:]: unrecognized selector sent to instance 0x283452820
*** Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘-[_UIStatusBarIdentifier isEqualToString:]: unrecognized selector sent to instance 0x283452820’
—————————————————————————————————————————————————————
问题代码和解决方法
+ (NSString *)getIphoneXNetWorkStates {
UIApplication *app = [UIApplication sharedApplication];
id statusBar = [[app valueForKeyPath:@"statusBar"] valueForKeyPath:@"statusBar"];
id one = [statusBar valueForKeyPath:@"regions"];
id two = [one valueForKeyPath:@"trailing"];
NSArray *three = [two valueForKeyPath:@"displayItems"];
NSString *state = @"无网络";
for (UIView *view in three) {
//alert: iOS12.0 情况下identifier的变成了类"_UIStatusBarIdentifier"而不是NSString,所以会在调用“isEqualToString”方法时发生crash,
//修改前
// NSString *identifier = [view valueForKeyPath:@"identifier"];

本文记录了在iOS12上遇到的适配问题,包括StatusBar内部结构改变导致的crash、[UIImage imageNamed:]加载Assets图片失效、iPhone X系列刘海屏WKWebView适配问题,以及iOS12.0.x的serviceSubscriberCellularProviders Crash。提供了详细的解决方法。
最低0.47元/天 解锁文章
403

被折叠的 条评论
为什么被折叠?



