I am using LAContext from the Local Authentication framework to determine whether Touch ID is available, handling the various error codes from LAContext canEvaluatePolicy:error: method (passing LAPolicyDeviceOwnerAuthenticationWithBiometrics as the policy).
Everything works as expected but I have noticed that if the user has entered their device passcode too many times (thus blocking Touch ID), the LAErrorTouchIDLockout error is not always returned.
In iOS 10, if the user is blocked out of Touch ID, LAErrorTouchIDLockout is returned as an error from canEvaluatePolicy as expected.
In iOS 9, if the user is blocked out of Touch ID, canEvaluatePolicy does not return any error, but simply returns YES.
I cannot find any documentation about this, as according to Apple docs LAErrorTouchIDLockout has been available since iOS 9+.
https://developer.apple.com/reference/localauthentication/laerror/laerrortouchidlockout
Any idea about why I'm seeing this difference in behaviour?
Thanks.