iOS中无需Local Authentication且未录入指纹检测指纹传感器事件的方法
iOS指纹传感器无认证检测方案相关解答
不存在符合「不通过Local Authentication框架、无需预先录入指纹」要求的公开可实现方案,具体原因如下:
- 官方接口限制:苹果对生物识别传感器的所有访问能力,都仅通过
Local Authentication框架对外提供公开API,没有其他官方允许的接口可以监听或读取指纹传感器的任何事件。 - 未录入指纹时的限制:即使用户允许生物识别权限,只要设备未预先录入任何指纹,调用
LAContext的canEvaluatePolicy方法校验能力时,会直接返回LAErrorTouchIDNotEnrolled错误,此时传感器不会被激活,也不会产生任何可捕获的触摸事件。 - 私有API的局限性:即使尝试调用未公开的私有API访问传感器,也需要苹果官方专属的权限entitlement签名,普通开发者无法获取相关权限,且应用上架App Store时会100%被识别拦截。同时未录入指纹的状态下,系统默认不会唤醒指纹传感器的扫描逻辑,依旧无法捕获到相关事件。
苹果的生物识别设计逻辑从根本上限制了无感知、无授权的传感器访问,所有传感器激活操作都必须关联用户明确的认证场景,避免用户生物信息被恶意应用偷采、滥用。
内容的提问来源于stack exchange,提问作者Jay Ghetia
相关产品推荐
相关产品推荐

