最近项目需要检测设备的信号值,旧设备很多方法可用就不一一赘述,只是记录下自己的学习历程,
首先判断设备型号代码如下
//机型判断
struct utsname systemInfo;
uname(&systemInfo);
NSString * platform = [NSString stringWithCString:systemInfo.machine encoding:NSASCIIStringEncoding];
UIApplication * appll = [UIApplication sharedApplication];
id oneOc = [appll valueForKeyPath:@"_statusBar"];
id twoOc = [oneOc valueForKeyPath:@"_statusBar"];
遍历顶部状态栏,通过断点调试发现x以后顶部状态栏是由以下变化的如图:

找到 _cellularEntry 就好办了
id twoOc1 = [twoOc valueForKeyPath:@"_currentData"];
id ocStr = [[twoOc1 valueForKey:@"_cellularEntry"]valueForKeyPath:@"_displayValue"];
至此,获取设备的信号量的值.
网友评论