Проблема instantiateViewController после того, как приложение прошло идентификацию лица и идентификацию касания - PullRequest
1 голос
/ 12 марта 2019

Я добавил кнопку "Touch ID или Face ID" на своей странице.Я создал действие для этой кнопки: btnTouchIdOrFaceIdIsPressed.Вопрос 1: Он не открывает HomePageViewController на экране приложения после того, как я нажимаю кнопку touch id or face id.Почему?

@IBAction func btnTouchIdOrFaceIdIsPressed(_ sender: UIButton) {
    self.useBiometricAuthentication()
}

func useBiometricAuthentication () {
    let context = LAContext()
    var error : NSError?
    let reason = "some message for app user for the touch id or face id.."
    if context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error) {
        context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: reason) { (success, error) in
            if success {
                self.callMeAfterSuccessLoginAction()
            } else {
                //Question2: Can you write an explanation for this scope? Touch id or face is authentication is failed, right?
            }
        }
    } else {
        //Question3: Can you write an explanation for this scope? "device does not support face id or touch id", right?
    }
}

func callMeAfterSuccessLoginAction() {
    DispatchQueue.main.async {
        let oHomepageViewController = self.storyboard?.instantiateViewController(withIdentifier: "Homepage") as! HomepageViewController
        self.navigationController?.setViewControllers([oHomepageViewController], animated: true)
    }
}

Можете ли вы также ответить на вопросы 2 и 3, пожалуйста?

1 Ответ

1 голос
/ 12 марта 2019

Вопрос1: он не открывает HomePageViewController в приложении после нажатия на сенсорный идентификатор или кнопку идентификатора лица. Почему?

Вы можете проверить, не равен ли ваш навигационный контроллер нулю

print(navigationController ?? "NavigationController is nil")

Вопрос2: Можете ли вы написать объяснение этой области? Идентификатор касания или лицо - аутентификация не удалась, верно?

Сбой аутентификации Touch ID или ID лица

Вопрос3: Можете ли вы написать объяснение этой области? "устройство не поддерживает идентификатор лица или идентификатор касания", верно?

Аутентификация Touch ID или FaceID недоступна, возможно, пользователь не установил ее

...