iOS 12适配以及问题小记
前言
本文主要给大家介绍了关于iOS12适配及问题的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧
版本信息
Xcode: Version 10.0 beta (10L176w)
macOS: 10.14 Beta (18A293u)
iOS: 12.0(16A5288q)
问题及解决过程
1,StatusBar内部结构改变
现象:crash
crash log:
1,-[_UIStatusBarIdentifier isEqualToString:]: unrecognized selector sent to instance 0x283452820
2,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”];
//修改后
NSString *identifier = [[view valueForKeyPath:@”identifier”] description];
if ([identifier isEqualToString:@”_UIStatusBarWifiItem.signalStrengthDisplayIdentifier”]) {
id item = [view valueForKeyPath:@”_item”];//alert: 这个问题和上边一样itemId是_UIStatusBarIdentifier 类型,不是string
NSString *itemId = [[item valueForKeyPath:@”identifier”] description];
if ([itemId isEqualToString:@”_UIStatusBarWifiItem”]) {
state = @”WIFI”;
}
state = @”不确定”;} else if ([identifier isEqualToString:@”_UIStatusBarCellularItem.typeDisplayIdentifier”]) {
UIView *statusBarStringView = [view valueForKeyPath:@”_view”];
// 4G/3G/E
state = [statusBarStringView valueForKeyPath:@”text”];
}}
return state;
}
更多相关文章
- Android(安卓)Studio通过修改图标资源值实现图标的修改以及修改A
- Android(安卓)开机图片/文字/动画的修改
- Android(安卓)4.4 在启动到 ANDROID 闪光字的时候图像错乱的解决
- Android(安卓)Camera拍照常见问题小结
- Android(安卓)CheckBox中设置padding无效问题解决方法
- Android(安卓)Location的使用
- android 百度地图的经度纬度问题
- Android(安卓)屏幕分辩率相关问题
- Android(安卓)解决65535的限制 使用android-support-multidex解