uni.checkFaceID调用前须确认平台支持与权限配置:iOS需勾选FaceID并配置NSFaceIDUsageDescription,Android需targetSdkVersion≥23且添加USE_FINGERPRINT权限;H5和小程序端恒返回false。uni-app 调用 uni.checkFaceID 前必须确认平台和权限App 端指纹/面容登录不是写个 API 就能跑通的,uni.checkFaceID 在 iOS 和 Android 行为差异大,且默认不开启权限。真机调试前漏掉任一环节,调用直接静默失败或报错 unauthorized。iOS 需在 manifest.json → App SDK 配置 → iOS 模块配置 中勾选「FaceID」,并补充 NSFaceIDUsageDescription 描述(否则 App 启动即崩溃)Android 要求 targetSdkVersion ≥ 23,且需在 manifest.json → Android 模块配置 → 权限配置 中手动添加 android.permission.USE_FINGERPRINT(Android 9+ 已废弃该权限,但 uni-app 目前仍依赖它触发底层识别)H5 和小程序端调用 uni.checkFaceID 永远返回 false,别在条件编译里埋坑为什么 uni.startSmsVerifyCode 和生物识别没关系?别混淆登录流程很多人搜"指纹登录"顺手抄到短信验证码 API,这是典型场景错配。uni.startSmsVerifyCode 是纯网络侧行为,和设备传感器零关联。真正用于生物识别登录的只有三个 API:uni.checkFaceID(检测能力)、uni.openFacialRecognition(唤起识别 UI)、uni.getProvider(查支持列表)。uni.checkFaceID 返回 {available: true, reason: ''} 才代表设备支持且用户已授权,reason 为空才是可调用状态uni.openFacialRecognition 的 challenge 参数必须是服务端下发的随机字符串(不能前端生成),用于防重放,否则校验通过后服务端无法验签识别成功后拿到的是加密后的 result 字符串(非明文指纹),需原样传给后端做解密比对,前端切勿尝试 base64 解码或 JSON.parseAndroid 真机上 uni.openFacialRecognition 黑屏或闪退的常见原因这不是 uni-app bug,而是 Android 厂商 SDK 兼容性问题。小米、华为、OPPO 对 FingerprintManager 的封装差异极大,uni-app 底层调用容易卡死。 RedClaw 百度推出的手机端万能AI Agent助手
相关推荐
专注于ai算法的踩坑小达人几秒前
TabFM(Google Tabular Foundation Model)完整部署手册(PyTorch GPU版)极限实验室3 分钟前
INFINI Easysearch 向量搜索实战(一)枫叶丹46 分钟前
数据库上 Kubernetes 后,KES-Operator 如何简化集群运维特创数字科技17 分钟前
公文Word一键批量排版工具|批量统一公文标准格式,办公自动化桌面小工具维克兜率天17 分钟前
5.3 宏观因子:抬头看天蓝速科技21 分钟前
数字人一体机芯片选型:RK3576 与 X86 场景化对比指南丨蓝速科技IvorySQL27 分钟前
AI 时代,PostgreSQL 正在发生什么变化?隔窗听雨眠32 分钟前
分析型数据库与事务型数据库:核心差异与选型决策深度解析XZ-07000135 分钟前
week4-2-坐标轴Delta-delta41 分钟前
Ubuntu MATE 24.04 + systemd 部署 LiteLLM + Open WebUI