【发布时间】: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