ios - iOS:检测设备是否为 iPhone X 系列(无框)
问题描述
在我的应用程序中,有一些适用于无框设备(iPhoneX、Xs Xs max、Xr)的逻辑。目前它基于设备的模型工作,因此,我通过 DeviceKit 框架检测模型。
但我想将此逻辑扩展到未来的无框设备。可能在一年内我们会有一些额外的无框设备。那么,如何检测设备是否是无框的?它应该涵盖所有当前的无框设备和未来的设备。
我们不能依赖 faceID、safeAreaInset、屏幕高度或尺寸。那么,然后呢?
解决方案
你可以为一流的“fitler”,比如:
var hasTopNotch: Bool {
if #available(iOS 11.0, tvOS 11.0, *) {
return UIApplication.shared.delegate?.window??.safeAreaInsets.top ?? 0 > 20
}
return false
}
推荐阅读
- c# - 敌人不动
- excel - 如何在字符串中添加括号
- inno-setup - 在 inno setup 中保存路径
- vue.js - 如何修复导致未定义错误的属性“状态”的 Axios 拦截器
- python - 在 Panda 中计算两种类型记录的数字表
- python - 返回不匹配的值
- unity3d - UnityWebRequest 数据为空
- apache-flink - 在 Java Flink 应用程序中使用 Python 处理器
- adobe-illustrator - 我正在寻找一个自动编号系统,用于在 Photoshop 中按编号工具包自定义绘画
- sorbet - Sorbet:检查包含目标模块的类