nsfaceidusagedescription ios xcode ios11 xcode9 face-id

ios - nsfaceidusagedescription



¿Qué es NSFaceIDUsageDescription-Clave Info.plist Descripción del uso de ID de cara? (3)

Hay una nueva clave de privacidad NSFaceIDUsageDescription Info.plist en Xcode 9 GM donde un desarrollador proporciona la descripción de uso para la alerta de permisos. ¿Alguien tiene un enlace a los documentos en él? La vista plist en Xcode lo resume como:

Privacidad - Descripción de uso de ID de cara


Privacidad: la descripción del uso de la identificación de rostro (NSFaceIDUsageDescription) es una clave de cadena, le permite describir el motivo por el que su aplicación utiliza la identificación de rostro.

Para proteger la privacidad del usuario, una aplicación de iOS que enlace en o después de iOS 11 y que acceda a Face ID si el hardware lo admite, debe declarar de forma estática la intención de hacerlo. Incluya la clave NSFaceIDUsageDescription en el archivo Info.plist de su aplicación y proporcione una cadena de propósito para esta clave. Si su aplicación intenta acceder a Face ID sin una cadena de propósito correspondiente, su aplicación puede cerrarse.

Nota : esta tecla es compatible con iOS 11 y versiones posteriores.

La autenticación Face-Id se introduce para / con el dispositivo iPhone-X y funcionará solo con iPhone-X (incluso sin simulador)

Con Xcode 9.0.1 y Xcode 9.2 beta, parece que funciona.

Árbitro. enlace a Apple Document - NSFaceIDUsageDescription
Lista de todas las llaves disponibles - Cocoa Keys


Ahora se explica con más detalle en el foro mencionado anteriormente (por un empleado de Apple) https://forums.developer.apple.com/message/265156 :

La identificación de la cara requiere agregar una cadena de uso con la clave NSFaceIDUsageDescription (también conocida como Privacidad - Descripción de uso de la identificación de la cara) a la lista de información de su aplicación.

En el simulador, la alerta de permisos de ID de rostro mostrará "Esta aplicación fue diseñada para usar Touch ID y es posible que no sea totalmente compatible con ID de rostro" si falta esa tecla. En un dispositivo real, su aplicación se bloqueará de la misma manera que si faltara alguna otra cadena de uso requerida.


Tengo usuarios que informaron un bloqueo de la aplicación cuando se muestra la primera alerta de TouchID. La solución fue probar en el dispositivo y leer la consola (Xcode 9.4.1):

Esta aplicación se ha bloqueado porque intentó acceder a datos confidenciales sin una descripción de uso. El archivo Info.plist de la aplicación debe contener una clave NSFaceIDUsageDescription con un valor de cadena que explique al usuario cómo la aplicación utiliza estos datos.

Simplemente agregue NSFaceIDUsageDescription haciendo clic derecho y "Agregar fila" en la raíz de Info.plist y pegue NSFaceIDUsageDescription en y configúrelo en SÍ.

El simulador no va a admitir FaceID, por lo que las aplicaciones que usan inicios de sesión, llavero y TouchID se ven afectadas si no agrega una línea a la lista para admitir la verificación de FaceID. El usuario recibirá una alerta pidiéndole que permita que FaceID inicie sesión en su aplicación de manera predeterminada, por lo que no se requiere codificación para admitir FaceID si ya está configurado para TouchID.