当我从另一个视图中退出时 Touch Id 自动触发成功

Touch Id autotrigger success when i dismiss from another view

过程是: 1 用户使用touch id登录 2 用户注销(logout dismiss to login) 然后应用自动触发触摸 ID 并成功响应(这不会发生在模拟器中)帮助!!

这是我登录时的监听器viewcontroller

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)      

    if authenticationContext.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error) && DataContainerSingleton.sharedDataContainer.fingerPrintEnabled == "SI"{
        self.touchIdListener()
    }


}

  func touchIdListener(){
    authenticationContext.evaluatePolicy(
        .deviceOwnerAuthenticationWithBiometrics,
        localizedReason: self.valFromCurrentLanguaje(valor: "LOGIN_FINGER_MSG"),
        reply: { [unowned self] (success, error) -> Void in

            if( success ) {
                let keychain = KeychainSwift()
                let data = keychain.get(Constants.USER_KEY)?.components(separatedBy: ",")
                DispatchQueue.main.async {
                    self.showProgress(text: Constants.EMPTY_STRING)
                }
                self.fromTouchId = true
                self.loginBL.startLogin(email: (data?[0])!, password: data?[1])
            }else {
                // Check if there is an error
                if let error = error {
                    print("\(error.localizedDescription)")

                }

            }

    })
}

所以解决方案是更改 dismiss

self.dismiss(animated: true, completion: nil)

对于新实例

var storyboard = UIStoryboard()
            let vc : LoginViewController
            if (Constants.IS_IPAD) {
                storyboard = UIStoryboard.init(name: "LoginIpad", bundle: nil)
                vc = storyboard.instantiateViewController(withIdentifier: "ipadViewController") as! LoginViewController
            } else {
                storyboard = UIStoryboard.init(name: "Login", bundle: nil)
                vc = storyboard.instantiateViewController(withIdentifier: "iphoneViewController") as! LoginViewController
            }
            let navigationController = UINavigationController(rootViewController: vc)
            self.present(navigationController, animated: true, completion: nil)