         
         updatePasscodeView()
         deleteSignButton?.enabled = false
-    }
-    
-    public override func viewWillAppear(animated: Bool) {
-        super.viewWillAppear(animated)
-        
-        if passcodeConfiguration.shouldRequestTouchIDImmediately && passcodeLock.isTouchIDAllowed {
-            
-            passcodeLock.authenticateWithBiometrics()
-        }
+        
+        setupEvents()
+    }
+    
+    public override func viewDidAppear(animated: Bool) {
+        super.viewDidAppear(animated)
+        
+        shouldTryToAuthenticateWithBiometrics = false
+        authenticateWithBiometrics()
     }
     
     internal func updatePasscodeView() {

        fatalError("init(coder:) has not been implemented")
    }
    
    // MARK: - View
    
    public override func viewDidLoad() {

        super.init(nibName: nibName, bundle: bundle)
        
        passcodeLock.delegate = self
        notificationCenter = NSNotificationCenter.defaultCenter()
    }
    
    public convenience init(state: LockState, configuration: PasscodeLockConfigurationType) {
