iOS 18 Beta模拟器FaceID无法使用:CoreAuthUI意外退出求解决方案
iOS 18 Beta模拟器FaceID认证崩溃问题的临时解决办法
我也遇到了完全相同的问题——iOS 18 Beta模拟器触发FaceID认证时会直接崩溃,但真机和TouchID模拟器(比如iPhone SE 3代)的生物识别功能完全正常。目前亲测有效的临时方案有几个:
- 临时绕过系统FaceID调用:在代码中添加环境判断,检测到是iOS 18 Beta的FaceID模拟器时,直接模拟生物识别的结果,不走系统认证流程。示例代码:
func performBiometricAuth() { let context = LAContext() var authError: NSError? // 判定是否为iOS 18 Beta FaceID模拟器 let isAffectedSimulator = UIDevice.current.systemVersion.hasPrefix("18.0") && context.biometryType == .faceID && TARGET_OS_SIMULATOR != 0 if isAffectedSimulator { // 模拟认证成功(可根据测试需求改成失败) DispatchQueue.main.async { self.handleAuthResult(success: true) } return } // 正常生物识别流程 if context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &authError) { context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: "验证您的身份") { success, error in DispatchQueue.main.async { self.handleAuthResult(success: success) } } } }
重置模拟器面容ID设置:进入模拟器的「设置」→「面容ID与密码」,删除已录入的面容后重新录入,部分开发者反馈此操作能临时解决崩溃问题,但可能存在复发现象。
切换到iOS 17.x模拟器:如果项目测试允许,暂时使用iOS 17系列模拟器进行FaceID相关功能验证,等待Apple在后续iOS 18 Beta版本中修复该Bug。
目前已有不少开发者在Apple Developer论坛提交了该问题,预计后续Beta版本会修复此问题。
内容的提问来源于stack exchange,提问作者balazs630
相关产品推荐
相关产品推荐

