首页 > 解决方案 > 检测在 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 的键值编码不兼容。”

任何想法?

标签: iosobjective-ciphone-xuistatusbar

解决方案


有一种方法可以检查CNCopyCurrentNetowrkInfo以获取当前网络信息。

还有黑客:

对象-c:

CGFloat statusBarHeight = [[UIApplication sharedApplication] statusBarFrame].size.height;

迅速:

let statusBarHeight = UIApplication.shared.statusBarFrame.size.height

启用个人热点后,它返回 40,否则返回 20。

请注意,它不适用于 iPhone X+


推荐阅读