【问题标题】:'LABiometryType' is only available on iOS 11.0.1 or newer'LABiometryType' 仅适用于 iOS 11.0.1 或更高版本
【发布时间】:2018-07-04 16:37:45
【问题描述】:

Xcode 9.3 (beta) 显示枚举 LABiometryType 的错误,该错误与 Xcode 9.2 和检查 available(iOS 11.0, *) 一起工作正常。

这里是错误信息:

“LABiometryType”仅适用于 iOS 11.0.1 或更高版本

这是我现有的代码:

if #available(iOS 11.0, *) {
    if (laContext.biometryType == LABiometryType.faceID) {
        //localizedReason = "Unlock using Face ID"
        print("FaceId support")
    } else if (laContext.biometryType == LABiometryType.touchID) {
        //localizedReason = "Unlock using Touch ID"
        print("TouchId support")
    } else {
        //localizedReason = "Unlock using Application Passcode"
        print("No Biometric support")
    }
} else {
    // Fallback on earlier versions
}

问题是:如果我按照错误消息中的建议将 #available(iOS 11.0, *) 替换为 #available(iOS 11.0.1, *),那么如何处理 iOS 11.0 的 Face-id 生物特征 (LABiometryType.faceID)。

【问题讨论】:

  • Apple 文档对从 iOS 11.0+ 开始的 LABiometry 类型的可用性不正确......或者至少省略了 11.0.1+ 特异性是误导性的。至少 Xcode 9.3 现在会显示关于它的编译器警告。我最终通过一小部分设置的崩溃日志发现了这一点,上面写着-[LAContext biometryType] unrecognized selector sent to instance,这只发生在 iOS 11.0.0

标签: ios xcode face-id localauthentication xcode9.3-beta


【解决方案1】:

您无需在 iOS 11.0 上处理 Face ID,因为 iPhone X 是随 iOS 11.0.1 发布的。 iOS 11.0 上没有具有 Face ID 功能的 iOS 设备。

https://en.wikipedia.org/wiki/IOS_version_history#iOS_11_0https://en.wikipedia.org/wiki/IPhone_X

【讨论】:

  • 我记得 iPhone X 是在 iOS 11.1.0 上公开发布的。我相信这个维基百科页面是错误的。我怀疑用于内部测试和新闻发布会的 iPhone X 测试版是在 11 月 3 日发布日期之前与 iOS 11.0.x 一起播种的。但除此之外,是的,iOS 11.0.0 中不需要处理 FaceID
  • 没有。首批安装了 11.0.1 的 iPhone X。我自己也有这样一部 iPhone。这是另一个参考:9to5mac.com/2017/11/03/ios-11-2-beta-iphone-x
  • 酷我不知道。感谢第二个链接^_^
猜你喜欢
  • 2020-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多