首页 > 解决方案 > iOS:检测设备是否为 iPhone X 系列(无框)

问题描述

在我的应用程序中,有一些适用于无框设备(iPhoneX、Xs Xs max、Xr)的逻辑。目前它基于设备的模型工作,因此,我通过 DeviceKit 框架检测模型。

但我想将此逻辑扩展到未来的无框设备。可能在一年内我们会有一些额外的无框设备。那么,如何检测设备是否是无框的?它应该涵盖所有当前的无框设备和未来的设备。

我们不能依赖 faceID、safeAreaInset、屏幕高度或尺寸。那么,然后呢?

标签: iosiphoneswiftuiviewios11

解决方案


你可以为一流的“fitler”,比如:

var hasTopNotch: Bool {
    if #available(iOS 11.0, tvOS 11.0, *) {
        return UIApplication.shared.delegate?.window??.safeAreaInsets.top ?? 0 > 20
    }
    return false
}

推荐阅读