集成react-native-fingerprint-scanner后iOS模拟器Try Face ID Again无响应
问题诱因
这个点击「Try Face ID Again」无响应的问题仅会在iOS模拟器环境出现,实体iOS设备上不会复现,具体原因如下:
react-native-fingerprint-scanner@6.0.0的iOS原生层实现,没有适配模拟器环境下系统生物识别弹窗的重试按钮回调事件。模拟器的生物识别校验是纯软件模拟的逻辑,和实体设备基于硬件的校验链路存在差异:实体设备上点击重试按钮会触发系统的二次校验回调,能被包的原生层正常捕获并传递给JS层;但模拟器的模拟校验逻辑中,重试按钮的事件没有被原生监听代码捕获,因此不会触发任何后续逻辑,也不会输出相关日志。- 你提供的实现代码本身没有逻辑问题,异步调用、参数配置和错误捕获的写法都符合官方要求。
测试建议
- 模拟器环境下测试时,首次识别失败后不要点击弹窗上的重试按钮,直接关闭弹窗重新触发生物识别校验方法即可走完整流程。
- 如需验证重试功能的实际表现,必须使用实体iOS设备测试:实体设备上点击重试按钮会正常触发二次识别,识别成功会返回结果进入成功分支,多次识别失败会触发错误被catch捕获。
内容的提问来源于stack exchange,提问作者Binit Chandra Jha
相关产品推荐
相关产品推荐

