允许Face ID许可警报

问题描述:

我的应用程序(运行在iPhone X Simulator Xcode 9.0.1中)询问我是否允许使用Face ID。允许Face ID许可警报

报警称:

Do you want to allow <appName> to use Face ID? This app was designed to use Touch ID and may not fully support Face ID.

我期待我在LocalAuthentication框架(例如biometryType),以新的API做了一些改动本来基本上是面部识别工作。

还有什么我需要做的,所以我的应用程序旨在完全支持Face ID?

看起来您需要将NSFaceIDUsageDescription添加到您的Info.plist以支持人脸ID。

此外,模拟器警报仅适用于模拟器,没有该Info.plist键,应用程序显然应该在没有它的实际设备上崩溃。

由于这些帅哥帮我学这个 - What is NSFaceIDUsageDescription - Face ID Usage Description Info.plist key?


普罗蒂普:

此前的权限提示,[LAContext canEvaluatePolicy:error:]回报YES生物识别设备是否能够它。

iOS将不会提示用户许可,直到第一次调用[LAContext evaluatePolicy:localizedReason:reply:]

如果用户确实不授予权限,然后canEvaluatePolicy未来所有的调用将返回NO(错误代码= -6“用户已经否认了这个应用程序使用生物测量的。”)。这是一个奇怪的细微差别。

+1

关于错误-6“用户拒绝使用此应用程序的生物特征”您可能有兴趣https://*.com/a/47470580/3172445 –

+0

该应用程序不会崩溃没有'NSFaceIDUsageDescription'测试案例:通过Xcode 9.2和iOS 11.2 SDK的物理iPhone X debbger。结果:我看到以下消息:“此应用旨在使用Touch ID,可能不完全支持Face ID。”并且该应用不会崩溃。 –

+0

@ChrisWoolfe编辑 - 我的错误 - 也许他们解决了iOS 11.2中的行为?我建议你试试11.1或11.0以确保它不会崩溃 – beebcon