首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检测iPhone X中崩溃的热点

检测iPhone X中崩溃的热点
EN

Stack Overflow用户
提问于 2018-09-18 01:35:03
回答 2查看 122关注 0票数 0

我在viewDidLoad中有下面的示例代码来检测热点打开/关闭。它在iPhone 6-8中正常工作,但在iPhone X中崩溃。

代码语言:javascript
运行
复制
 UIApplication *app = [UIApplication sharedApplication];
    if(![[app valueForKey:@"statusBar"] valueForKey:@"doubleHeightLabel"])
    {
       //Some code here
    }
    else
    {
        //Some code here
    }

错误信息显示:-

终止应用程序,原因是:“ valueForUndefinedKey::该类不符合键doubleHeightLabel的键值编码。”

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-19 02:34:31

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

还有一些黑客:

Obj-c:

代码语言:javascript
运行
复制
CGFloat statusBarHeight = [[UIApplication sharedApplication] statusBarFrame].size.height;

Swift:

代码语言:javascript
运行
复制
let statusBarHeight = UIApplication.shared.statusBarFrame.size.height

如果启用了“个人热点”,则返回40,否则返回20。

--请注意,,这对iPhone X+是行不通的

票数 2
EN

Stack Overflow用户

发布于 2018-09-19 00:18:09

它崩溃是因为苹果改变了键"statusBar“持有的对象。它不再有一个带有"doubleHeightLabel“键的对象。正如评论中所指出的,苹果禁止使用私有API,因为这正是这个问题。当他们升级iOS版本时,他们会随意地更改"statusBar“对象,这样键就可以丢失,或者更改,甚至可以保存一个完全不同的变量。

解决方案:不要使用私有API。做个好孩子,听苹果的话。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52377726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档