ios - 检测在 iPhone X 中崩溃的热点
问题描述
我在 viewDidLoad 中有如下示例代码来检测热点开/关。它在 iPhone 6-8 中正常工作,但在 iPhone X 中崩溃。
UIApplication *app = [UIApplication sharedApplication];
if(![[app valueForKey:@"statusBar"] valueForKey:@"doubleHeightLabel"])
{
//Some code here
}
else
{
//Some code here
}
显示错误消息:-
由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[<UIStatusBar_Modern 0x7ffed341b7f0> valueForUndefinedKey:]:此类与键 doubleHeightLabel 的键值编码不兼容。”
任何想法?
解决方案
有一种方法可以检查CNCopyCurrentNetowrkInfo以获取当前网络信息。
还有黑客:
对象-c:
CGFloat statusBarHeight = [[UIApplication sharedApplication] statusBarFrame].size.height;
迅速:
let statusBarHeight = UIApplication.shared.statusBarFrame.size.height
启用个人热点后,它返回 40,否则返回 20。
请注意,它不适用于 iPhone X+
推荐阅读
- python - 使用 STD 对图像进行平滑处理
- linux - 在当前进程中添加观察点(不在 gdb 中,不用于调试)
- c# - 在 Unity 中销毁实例化游戏对象的问题
- amazon-web-services - 在 S3 存储桶上更改存储类的经济高效的方法
- laravel - nuxt,js 面临在 vuetify 表中获取数据的问题
- c# - 日期时间计算器
- cmake - 如何在cmake中使用来自构建目录的导入库?
- javascript - 在 npm run build 后 React 网站应用不同的 css
- java - XML org.springframework.expression.ParseException 中的 Spring SpEL:表达式没有结尾后缀“}”
- neo4j - 用户定义的过程超时