title: LocalAuthentication framework - How do I get "Enter Password" to show on first invocation
body: <p>I am using LocalAuthentication framework for iOS and have followed the general tutorials from around the web to implement TouchID authentication for my App. </p>
  
  <p>When the app calls context.evaluatePolicy(policy, error:&amp;error) I want to show the user an option to "Enter Password" instead of having the user select "Cancel" to dismiss the dialog box and enter the password. </p>
  
  <p>This is the default behavior in the AppStore app but I cannot get my app to perform the same way. Please see the AppStore screenshot below:</p>
  
  <p><a href="https://i.stack.imgur.com/ui0Sr.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ui0Srm.jpg" alt="AppStore TouchID Authentication"></a></p>
  
  <p>The code I use is consistent with the various tutorials out there. See code below. </p>
  
  <p>My app launches with the following screen: </p>
  
  <p><a href="https://i.stack.imgur.com/PieY5.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/PieY5m.png" alt="My App TouchID authentication"></a></p>
  
  <p>I have searched high and low, on SO and other sites but have not been able to launch my app with "Show Password". When I use an unregistered finger to authenticate the LA dialog box changes to "Try again" and has the "Show Password" button.</p>
  
  <pre><code>        let context = LAContext()
          var error : NSError?
  
          // Test if TouchID policy is available on the device and a fingerprint has been enrolled.
          var policy : LAPolicy!
          if #available(iOS 9.0, *) {
              policy = (context.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error:&amp;error) ? LAPolicy.DeviceOwnerAuthenticationWithBiometrics : LAPolicy.DeviceOwnerAuthentication)
          } else {
              // Fallback on earlier versions
              policy = LAPolicy.DeviceOwnerAuthenticationWithBiometrics
          }
          if context.canEvaluatePolicy(policy, error:&amp;error) {
              // evaluate
              context.evaluatePolicy(policy, localizedReason: reason, reply: {
                  (success: Bool, authenticationError: NSError?) -&gt; Void in
  
                  // check whether evaluation of fingerprint was successful
                  if success {
                      okHandler()
                  } else {
                      // fingerprint validation failed
                      // get the reason for validation failure
                      var failureReason = "unable to authenticate user"
                      if let code = error?.code {
                          switch code {
                          case LAError.AuthenticationFailed.rawValue:
                              failureReason = "authentication failed"
                          case LAError.UserCancel.rawValue:
                              failureReason = "user canceled authentication"
                          case LAError.SystemCancel.rawValue:
                              failureReason = "system canceled authentication"
                          case LAError.PasscodeNotSet.rawValue:
                              failureReason = "passcode not set"
                          case LAError.UserFallback.rawValue:
                              failureReason = "user chose password"
                          default:
                              failureReason = "unable to authenticate user"
                          }
                      }
                      print("validation reason: \(failureReason).");
                      cancelHandler()
                  }
              })
          } else {
          }
  </code></pre>
  
  <p>Please help!</p>