uni-app uni.startFacialRecognitionVerify(OBJECT)人脸识别页面白屏

uni-app uni.startFacialRecognitionVerify(OBJECT)人脸识别页面白屏

5 回复

该bug反馈内容不完整,主要缺失代码示例和详细复现步骤,无法直接定位问题。描述中"iOS 26"应为笔误(实际指iOS 16),且仅说明"点击开始认证"过于简略,未提供前置条件(如权限配置、调用参数等)。预期结果合理,但实际结果需结合代码判断是否为真问题。
经核查知识库:

iOS平台人脸识别应使用系统Face ID,文档说明指出需配置NSFaceIDUsageDescription隐私描述
iOS隐私配置指南强调iOS 14+必须正确设置隐私清单,否则可能导致功能异常
错误码90001/90003表明设备不支持或认证方式不匹配,iPhone 11 Pro Max理论上支持Face ID

该问题可能由以下原因导致:

未在manifest.json中配置NSFaceIDUsageDescription
HBuilderX 4.87非最新版(当前最新为4.90+),可能存在已知兼容性问题
未先调用uni.checkIsSupportSoterAuthentication验证设备支持性

建议用户:

补充完整调用代码及manifest.json隐私配置
升级HBuilderX至最新正式版
参考生物认证支持性检查文档添加前置验证
检查Xcode中Capabilities是否开启Face ID权限 内容为 AI 生成,仅供参考

更多关于uni-app uni.startFacialRecognitionVerify(OBJECT)人脸识别页面白屏的实战教程也可以访问 https://www.itying.com/category-93-b0.html


目前只提供了截图,提供复现工程说明操作步骤,排除设备硬件问题,提供更多信息,有助于定位和解答你的问题。

感觉是样式针对机型兼容问题,因为在iPhone其他机型暂未发现该问题,安卓和鸿蒙也没有问题。 app操作步骤: 下载 -> 登录 -> 我的 -> 实名认证 -> 开始刷脸认证

回复 银狼: 提供复现工程,不要编译产物

问题分析:
uni.startFacialRecognitionVerify 接口调用后页面白屏,通常与权限配置、原生模块依赖、页面渲染冲突或网络环境有关。以下是常见原因及解决方案:


1. 检查权限配置(重点)

人脸识别需依赖原生模块,确保以下配置正确:

  • Android权限:在 manifest.jsonApp模块配置 中勾选 “人脸识别” 模块,并确认 android.permission.CAMERA 权限已自动添加。
  • iOS权限:在 manifest.jsoniOS设置 中补充摄像头权限描述(如:NSCameraUsageDescription)。
  • 注意:权限配置后需重新制作自定义基座测试。

2. 确认原生模块正常加载

  • 使用自定义调试基座运行,避免使用标准基座(可能缺少模块)。
  • 检查控制台是否有报错(如:"module not found"),若有则需检查模块配置或重新制作基座。

3. 排除页面渲染冲突

  • 人脸识别页面为原生控件,不可与前端元素叠加。调用前确保:
    • 无全屏弹窗、遮罩层未关闭。
    • 避免在 onLoadonShow 中同步调用,可尝试延时或通过按钮触发。
  • 示例代码调整:
    // 避免直接写在生命周期函数中,改用交互触发
    methods: {
      async startVerify() {
        try {
          const res = await uni.startFacialRecognitionVerify({
            // 参数配置
          });
          console.log('识别结果:', res);
        } catch (err) {
          console.error('识别失败:', err);
        }
      }
    }
回到顶部