I work on app which uses LocalAuthentication to allow Users to lock their accounts with Touch or Face ID.
This is typically something that we invoke manually with "- [LAContext evaluatePolicy:localizedReason:reply:]". However, we have been seeing reports of users seeing an additional Biometrics prompt immediately upon launching the application. This issue persist after deleting the app and reinstalling.
The strange part is that this additional prompt has no "localizedReason" text as per the screenshot below:
I've tried to swizzle both "- [LAContext evaluatePolicy:localizedReason:reply:]" and "- [LAContext evaluateAccessControl:operation:localizedReason:reply:]" to help find the caller but I'm unable to capture this mystery prompt.
We also inspected with the Console.app and notice that the following logs keep appearing for users experiencing this additional Biometrics prompt. It is not present for users who are not seeing the issue:
| default | 13:43:24.332358 -0500 | securityd | Authentication is needed MyAppNameHere [11213]/1#5 LF=0 copy_matching Error Domain=NSOSStatusErrorDomain Code=-25330 "(null)" |
Is there a way to determine what this error means in more detail? Could this be the cause of the additional Authentication prompt?