LAContext有一个方法用于检查设备是否可以评估Touch ID,并提供错误消息。
问题在于系统在两种情况下都会给出相同的错误消息“LAErrorPasscodeNotSet”:
1)如果用户有Touch ID,但在设置中将其关闭(使用iOS8的iPhone 5s)
2)如果设备没有Touch ID(使用iOS8的iPad)
问:如何检查设备是否支持Touch ID,但尚未在设置中打开它?
更新:
已向Apple创建了关于此错误的工单(ID# 18364575),并收到答复:
"根据以下信息,工程师已确定此问题的行为符合预期:
如果未设置密码,您将无法检测到Touch ID的存在。一旦设置了密码,canEvaluatePolicy最终将返回LAErrorTouchIDNotAvailable或LAErrorTouchIdNotEnrolled,您将能够检测到Touch ID的存在/状态。"
如果用户已禁用带有Touch ID的手机的密码,他们知道他们将无法使用Touch ID,因此应用程序不需要检测Touch ID的存在或推广基于Touch ID的功能。"