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.
La prueba de vivacidad pasiva está disponible solo a partir de la versión 4.4.0 en adelante.
Requisitos
Git
CocoaPods, disponible en https://cocoapods.org/.
Instalación
Instalando dependencias
1 - Agregue los siguientes Pods a las dependencias de la aplicación en el Podfile:
pod 'GoogleMLKit/FaceDetection'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
endEn la versión actual de BCC Face Mobile iOS (4.8.0), es necesario usar la versión 4.5.0 de la dependencia lottie-ios , como se especifica en el ejemplo anterior, para asegurar la compatibilidad y evitar conflictos de versión.
Se recomienda usar la misma versión mínima de iOS soportada para tu aplicación que la de este framework: iOS 15.0, como en el ejemplo anterior. También se aconseja establecer la bandera BUILD_LIBRARY_FOR_DISTRIBUTION = YES en el Podfile para asegurar la compatibilidad con versiones antiguas del SDK.
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.
A partir de ahora, cada vez que el usuario quiera abrir el proyecto, es necesario abrirlo a través de este archivo .xcworkspace , ya que incluye las dependencias.
Importación y Configuración
Importando el proyecto
Abre el proyecto usando el
.xcworkspacearchivo.Agrega el archivo
BCCFace.frameworkal proyecto, luego añádelo a la lista de frameworks de tu aplicación.Mueve el
.frameworkarchivo 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
.frameworkal árbol del proyecto bajo la secciónFrameworks, Libraries, etc.
Cambia la configuración
BCCFace.frameworkdeDo not embedaEmbed & Sign.Cambia la versión objetivo de tu proyecto a un mínimo de iOS 15.
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()yremoveHeadRotation()) 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 entre0.0y1.0.startsMuted- Define si las instrucciones empiezan silenciadas o no (truepara silenciado).pitch- Define el tono de voz para las instrucciones entre0.5(bajo) y2.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:
La prueba de vivacidad activa (usando sonrisa y rotación aleatoria de la cabeza) está habilitada por defecto. Para usar solo la verificación de vivacidad pasiva, antes de agregarla, es necesario eliminar los métodos de vivacidad activa del constructor:
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?

