在canEvaluatePolicy调用之后,Face ID auth冻结应用程序

时间:2017-10-27 20:31:31

标签: ios swift localauthentication face-id

在我的应用程序中,我尝试使用evaluatePolicy使用Face ID登录,在1或2次登录后,我在回调中收到错误。在那个错误中,我调用异步完成处理程序调用另一个并最终调用canEvaluatePolicy。我的应用程序然后冻结,不允许与UI进一步交互。为什么会这样?它与线程安全有关吗?可以找到一些重新创建此问题的示例代码here

以下是该示例代码中的代码片段供参考:

    let localAuthenticationContext = LAContext()
    if localAuthenticationContext.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: nil) {

        localAuthenticationContext.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: "To access secure data") { success, evaluateError in

            if success {
                print("Success")
            } else {
                print("Face ID Error")
                let context = LAContext()
                let status = context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: nil)
                print("Status: \(status)")
            }
        }
    }

我一直在使用Xcode 9.1 Beta 2和iPhone X模拟器。

0 个答案:

没有答案