iOS
BCC Face es una biblioteca diseñada para 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. Proporciona una prueba simple de vivacidad activa, que requiere que la persona sonría durante aproximadamente un segundo y/o mire a la derecha o a la izquierda. La prueba de vivacidad incluye una opción para leer las instrucciones en voz alta, facilitando el flujo de trabajo para los usuarios. Además, proporciona una prueba de vivacidad pasiva que puede usarse para comprobar 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.11.3.
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
Instalación de dependencias
1 - Agregue los siguientes Pods a las dependencias de la aplicación en el Podfile:
pod 'GoogleMLKit/FaceDetection'Si la aplicación no posee un Podfile, puede crearse en la carpeta raíz de su 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. Puede indicarse 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'
pod 'lottie-ios'
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
endSe recomienda usar la misma versión mínima de iOS compatible para su aplicación que la de este framework: iOS 15.0, como en el ejemplo anterior. También se aconseja establecer la BUILD_LIBRARY_FOR_DISTRIBUTION = YES bandera en el Podfile para garantizar la compatibilidad con versiones anteriores del SDK.
2 - Cierre el proyecto Xcode, abra una terminal y vaya a la carpeta donde está el Podfile, y luego ejecute:
Después de que finalice la ejecución, se creará un archivo con la extensión .xcworkspace en la misma carpeta.
3 - Abra el nuevo .xcworkspace archivo.
A partir de ahora, cada vez que el usuario quiera abrir el proyecto, será necesario abrirlo a través de este .xcworkspace archivo, ya que incluye las dependencias.
Importación y configuración
Importación del proyecto
Abra el proyecto usando el
.xcworkspacearchivo.Agregue el
BCCFace.frameworkarchivo al proyecto, luego agréguelo a la lista de frameworks de su aplicación.Mueva el
.frameworkarchivo al árbol de archivos del proyecto.Si ya existe una carpeta de frameworks, se recomienda mover el archivo allí.
Abra la configuración del proyecto.
Vaya a la pestaña General .
Haga clic y arrastre el
.frameworkal árbol del proyecto, en la secciónFrameworks, Libraries, etc.
Cambie la configuración de
BCCFace.frameworkdeDo not embedaEmbed & Sign.Cambie la versión objetivo de su proyecto a un mínimo de iOS 15.
Se recomienda deshabilitar iPad como objetivo.
Configuración inicial
Esta versión no tiene dependencias de Firebase, ni tampoco una configuración inicial llamada por AppDelegate. La única configuración inicial necesaria es que la aplicación solicite permiso de uso de la cámara. Para hacerlo, agregue la siguiente clave en el archivo info.plist , en el Information Property List:
El valor de la clave es un mensaje que se mostrará al usuario cuando se solicite el permiso de uso de la cámara. Este valor puede estar vacío 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 BCCFaceBuilder 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 (por ejemplo, fallo o éxito).
La initializeCapture el método también acepta un parámetro opcional, como se muestra a continuación:
Si desea que la navegación se ejecute a través de un controlador de navegación, debe proporcionarlo al llamar al método.
La BCCFaceBuilder la clase es responsable de manejar la configuración de uso para BCCFace. Los siguientes parámetros se aceptan para configurar la captura biométrica y el comportamiento del software:
buildSmileCheck(with smileProbability: ClosedRange<Float> = 0.5...1.0)- Agrega la sonrisa para la prueba de vivacidad y define el umbral de aceptación. Esta función está habilitada de forma predeterminada.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 de forma predeterminada. 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 comprobar si la foto capturada proviene de una persona real sin requerir ninguna interacción del usuario. Para usar esta función, DEBE deshabilitar las verificaciones de vivacidad activa (removeSmileCheck()yremoveHeadRotation()) que se agregan de forma predeterminada.buildSpeechSettings(_ speechSettings: SpeechSettings)- Define los criterios para el habla de accesibilidad, usando los siguientes parámetros:volume- El volumen de audio entre0.0y1.0.startsMuted- Define si las instrucciones comienzan en silencio o no (truepara silenciado).pitch- Define el tono de voz de las instrucciones entre0.5(grave) y2.0(agudo).speed- Define la velocidad de la voz de las instrucciones. Este valor debe ser positivo.
Los valores predefinidos pueden accederse mediante la variable estática:
removeSpeech()- Elimina el habla de accesibilidad.setInstructionEnable(_ enable: Bool)– Define si la pantalla de instrucciones está habilitada o deshabilitada.forceLanguage(_ language: BCCLanguages?)- Obliga a que las instrucciones se muestren en un solo idioma. Si el idioma del dispositivo no es compatible, se usará inglés. Los idiomas compatibles son:enableFlashButton(_ enable: Bool)– Habilita (true) o deshabilita (false) el botón del flash en la cámara trasera. Predeterminado: deshabilitado (false).enableManualCapture(_ enable: Bool)– Habilita (true) o deshabilita (false) el botón de captura manual, permitiendo al usuario omitir las comprobaciones automáticas de captura. Al realizar una captura manual, el usuario podrá revisar la foto capturada antes de completar el proceso.setImageCompressionFormat(_ format: ImageCompressionFormat)– Define el formato de compresión para una captura de vivacidad pasiva. Las opciones disponibles son.jpeg(predeterminado) o.jpeg2000.enableIntegrityValidation(clientSecret: Data, nonce: Data)– Habilita la validación de integridad para la detección de vivacidad pasiva, añadiendo una capa adicional de seguridad para garantizar la integridad del payload.
Como referencia, aquí tiene 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 de forma predeterminada. 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 pueden recuperarse usando el método faceCaptureDidFinish del interfaz BCCFaceDelegate :
La data el objeto contiene las imágenes capturadas durante el proceso:
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 del archivo de la recopilación para vivacidad pasiva. Solo está presente si se capturó correctamente. Es el retorno de la recopilación para vivacidad pasiva como JPEG Data. Estos datos pueden guardarse/exportarse directamente a un archivo o enviarse a la red (para networking: la codificación del sistema se puede hacer fácilmente, por ejemplo, una cadena Base64).
Si el usuario aborta la captura, cerrando antes de capturar los datos biométricos, se llamará al método faceCaptureDidAbort . Puede implementar este método para tratar este escenario.
Proyecto de ejemplo
Este es un proyecto de ejemplo funcional para una captura facial usando BCC Mobile Face iOS:
Instrucciones para el agente: consulta de esta documentación
Si necesita información adicional que no está disponible directamente en esta página, puede consultar la documentación de forma dinámica haciendo una pregunta.
Realice una solicitud HTTP GET en la URL actual de la página con el parámetro de consulta ask :
La pregunta debe ser específica, autocontenida y escrita en lenguaje natural. La respuesta contendrá una respuesta directa a la pregunta y fragmentos y स्रोत relevantes de la documentación.
Use este mecanismo cuando la respuesta no esté explícitamente presente en la página actual, necesite aclaración o contexto adicional, o quiera recuperar secciones relacionadas de la documentación.
Última actualización
¿Te fue útil?

