2016-07-20 1 views
0

В настоящее время у меня touchID в моем приложении, и в настоящее время он работает правильно. Это немного раздражает каждый раз, когда вы регистрируетесь при появлении предупреждения «touchID activated». Есть ли способ изменить его, поэтому он появляется только при первом входе в систему, а не снова? Вот мой код для сенсорного ID, я называю checkIfTouchIDActivated() в viewDidLoad экрана входа в систему:Как отключить оповещение «touch ID enabled» каждый раз, чтобы войти в приложение?

// MARK: TouchID 

    //Create a authentication context 
    let authenticationContext = LAContext() 
    var error:NSError? 


    //Check if the device has a fingerprint sensor, if not, dismiss 
    func checkIfTouchIDActivated() { 

    guard authenticationContext.canEvaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics, error: &error) else { 
     print("TouchID not detected") 
     return 
    } 
    print("TouchID detected") 

    //Check the fingerprint 
    authenticationContext.evaluatePolicy(
     .DeviceOwnerAuthenticationWithBiometrics, 
     localizedReason: "TouchID activated", 
     reply: { [unowned self] (success, error) -> Void in 

     //fingerprint has been recognized 
     if(success){ 

      self.loginButtonPressed(self) 

     }else { 

      // Check if there is an error 
      if let error = error { 

      let message = self.touchID.errorMessageForLAErrorCode(error.code) 
      self.showAlertViewAfterEvaluatingPolicyWithMessage(message) 

      } 

     } 

     }) 
    } 

ответ

0

Вы дали "TouchID activated" как localizedReason. Просто дайте "", если вы не хотите показывать пользователю, для чего вы хотите его аутентифицировать. Обычно это "Are you the device owner?" или "Sign in with your touch-ID", указывающий причину, по которой вы запрашиваете у пользователя touch-id.