I have recently started using Local Authentication (LA) and it all works nicely on devices that support biometric authentication (touch id):
To allow the LA falling back to passcode when the user fails the first fingerprint scan I just pass the LAPolicy.DeviceOwnerAuthentication
policy.
But when I do the same for older devices (with no touch id or face id support) LA instead falls back to some generic password UI. Also, it seems I can submit any password and get a Success.
- Is there a way to force LA to immediately prompt the Passcode UI instead?
- Which password is LA requesting?
Turns out this was just an iOS simulator behavior. I dug up and old iPhone 5 and the behavior is then what I expected: When biometric authentication is not supported iOS automatically falls back to requesting the device passcode.
In conclusion: Avoid using simulators all together to learn/test Local Authentication.