iOS

BCC Face es una biblioteca destinada a integrarse en una aplicación iOS desde un .framework archivo.

Utiliza la cámara del dispositivo para tomar una foto de un rostro con fines biométricos. Ofrece una sencilla prueba de vivacidad activa, que requiere que la persona sonría durante aproximadamente un segundo y/o mire hacia la derecha o la izquierda. La prueba de vivacidad incluye una opción para hablar las instrucciones, facilitando el flujo de trabajo para los usuarios. Además, ofrece una prueba de vivacidad pasiva que puede usarse para verificar si la foto fue tomada de una persona real sin requerir interacción del usuario.

Este manual está actualizado para BCC Face Mobile iOS versión 4.8.0.

Requisitos

Instalación

Instalando dependencias

1 - Agregue los siguientes Pods a las dependencias de la aplicación en el Podfile:

pod 'GoogleMLKit/FaceDetection'

Si la aplicación no tiene un Podfile, puede crearse en la carpeta raíz de tu proyecto Xcode usando el comando pod init en la terminal. El Podfile no aparecerá directamente en Xcode; se creará en el directorio del proyecto.

Es preferible usar frameworks dinámicos. Se puede indicar usando la bandera use_frameworks! en el Podfile.

Un ejemplo de Podfile con un Target llamado BCCs-Sample se muestra a continuación:

platform :ios, '15.0'

target 'BCCs-Sample' do
	use_frameworks!

	pod 'GoogleMLKit/FaceDetection', '~> 6.0.0'
	pod 'lottie-ios', '~> 4.5.0'
end

post_install do |installer|
	installer.pods_project.targets.each do |target|
		target.build_configurations.each do |config|
			config.build_settings['DEVELOPMENT_TEAM'] = "YOUR_DEVELOPMENT_TEAM_KEY"
			config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
		end
	end
end

2 - Cierra el proyecto de Xcode, abre una terminal y ve a la carpeta donde está el Podfile, y luego ejecuta:

Después de que finalice la ejecución, se creará un archivo con la extensión .xcworkspace en la misma carpeta.

3 - Abre el nuevo .xcworkspace archivo.

Importación y Configuración

Importando el proyecto

  • Abre el proyecto usando el .xcworkspace archivo.

  • Agrega el archivo BCCFace.framework al proyecto, luego añádelo a la lista de frameworks de tu aplicación.

    • Mueve el .framework archivo al árbol de archivos del proyecto.

      Si ya existe una carpeta de frameworks, se recomienda mover el archivo allí.

    • Abre la configuración del proyecto.

    • Ve a la pestaña General .

    • Haz clic y arrastra el .framework al árbol del proyecto bajo la sección Frameworks, Libraries, etc.

  • Cambia la configuración BCCFace.framework de Do not embed a Embed & Sign.

  • Cambia la versión objetivo de tu proyecto a un mínimo de iOS 15.

Se recomienda deshabilitar iPad como Target.

Configuración inicial

Esta versión no tiene dependencias en Firebase, ni tampoco una configuración inicial llamada por AppDelegate. La única configuración inicial necesaria es que la aplicación debe solicitar permiso de uso de la cámara. Para hacerlo, agrega la siguiente clave en el archivo info.plist , en la Information Property List:

El valor de la clave es un mensaje que se mostrará al usuario al solicitar el permiso de uso de la cámara. Este valor puede estar en blanco o completarse con un mensaje personalizado.

Uso

Parámetros y Constructor

Para usar correctamente la biblioteca BCC Face, hay algunos parámetros obligatorios.

A continuación se muestra un ejemplo simple de uso de la biblioteca:


La El constructor de la clase recibe los siguientes parámetros:

  • hostVC: UIViewController - Controlador de vista que llama a la pantalla de captura.

  • delegate: BCCFaceDelegate - Interfaz responsable de notificar eventos de captura (p. ej., fallo o éxito).


La El método también acepta un parámetro opcional, como se muestra a continuación:

Si deseas que la navegación se realice a través de un navigation controller, debes proporcionarlo al llamar al método.


La El constructor de la clase La clase es responsable de manejar la configuración de uso para BCCFace. Se aceptan los siguientes parámetros para configurar la captura biométrica y el comportamiento del software:

  • buildSmileCheck(with smileProbability: ClosedRange<Float> = 0.5...1.0) - Agrega sonrisa para la prueba de vivacidad y define el umbral de aceptación. Esta función está habilitada por defecto.

  • removeSmileCheck() - Elimina la sonrisa para la verificación de vivacidad.

  • buildRotationCheck(_ rotationChecks: [HeadRotationCheck], headRotationAngle: ClosedRange<Float> = -6.0...6.0) - Define una lista de pruebas de vivacidad para la rotación de la cabeza y el ángulo máximo de rotación. Esta función está habilitada por defecto. Las opciones de rotación de la cabeza son:

  • removeHeadRotation() - Elimina la rotación de la cabeza para la verificación de vivacidad.

  • addPassiveLiveness() - Agrega la prueba de vivacidad pasiva. Esta función se usa para verificar si la foto capturada es de una persona real sin requerir ninguna interacción del usuario. Para usar esta función, DEBES deshabilitar las verificaciones de vivacidad activa (removeSmileCheck() y removeHeadRotation()) que se agregan por defecto.

  • buildSpeechSettings(_ speechSettings: SpeechSettings) - Define los criterios para el discurso de accesibilidad, usando los siguientes parámetros:

    • volume - El volumen de audio entre 0.0 y 1.0.

    • startsMuted - Define si las instrucciones empiezan silenciadas o no (true para silenciado).

    • pitch - Define el tono de voz para las instrucciones entre 0.5 (bajo) y 2.0 (alto).

    • speed - Define la velocidad de voz para las instrucciones. Este valor debe ser positivo.

    Los valores predefinidos pueden accederse a través de la variable estática:

  • removeSpeech() - Elimina el discurso de accesibilidad.

  • setReviewEnable(_ enable: Bool) - Define si la pantalla de revisión de la captura biométrica está habilitada o deshabilitada.

  • setInstructionEnable(_ enable: Bool) - Define si la pantalla de instrucciones está habilitada o deshabilitada.

  • forceLanguage(_ language: BCCLanguages?) - Fuerza que las instrucciones se muestren en un único idioma. Si el idioma del dispositivo no es compatible, se usará inglés. Los idiomas soportados son:

  • removeLanguage() - Elimina el idioma forzado.

Como referencia, aquí hay una lista completa de parámetros y valores predeterminados:

Aquí hay un fragmento de código para inicializar una captura usando solo la prueba de vivacidad pasiva:

Valores de retorno

Los resultados de la última captura facial se pueden recuperar usando el método faceCaptureDidFinish de la interfaz BCCFaceDelegate :

La El objeto data

Las propiedades devueltas son:

  • originalPhoto (imagen) - La foto original tomada por la cámara.

  • croppedPhoto (imagen) - La foto recortada, que es la imagen del rostro recortada de la foto original.

  • passiveResult (Data) - Contenido de archivo de la colección para vivacidad pasiva. Solo está presente si se capturó correctamente. Es el retorno de la colección para vivacidad pasiva como Datos JPEG. Estos datos pueden guardarse/exportarse directamente a un archivo o enviarse por la red (para redes: la codificación del sistema puede realizarse fácilmente, p. ej., cadena Base64).

Si el usuario aborta la captura, cerrando antes de capturar la biometría, se llamará al método faceCaptureDidAbort . Puedes implementar este método para tratar este escenario.

Proyecto de ejemplo

Este es un proyecto de ejemplo funcional para una captura de rostro usando BCC Mobile Face iOS:

Última actualización

¿Te fue útil?