Nesta seção, você encontrará todas as informações necessárias pra implementar o SDK iOS da plataforma Unico IDCloud
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
En esta sección, encontrará toda la información necesaria para la personalización del SDK de la plataforma Unico IDCloud en sus aplicaciones iOS.
El SDK iOS permite realizar algunas personalizaciones. A continuación, vea todas las personalizaciones posibles para este SDK.
Es posible configurar la experiencia de los mensajes informativos de los frames de captura cambiando su idioma. Utilice el enumerado LocaleTypes
, que contiene los siguientes valores:
LocaleTypes.PT_BR
: para Português(Brasil);
LocaleTypes.ES_MX
: para Espanhol(México);
LocaleTypes.ES_ES
: para Espanhol(Espanha);
LocaleTypes.EN_US
: para Inglês(EUA).
Vea cómo implementarlo en el siguiente ejemplo:
Puede ser necesaria una activación remota para ser utilizado. Si desea usarlo, comuníquese con su gerente de proyectos o con el soporte de Unico.
Si no se configura, por defecto el SDK utiliza el portugués como idioma principal.
Esta é uma etapa opcional, porém muito recomendada para que o processo de captura tenha a identidade visual da sua empresa.
É possível customizar alguns objetos do frame de acordo com o modo de câmera utilizado, através do método setTheme()
.
Os tipos suportados para representação de cor são Color Resource ou String contendo o código hexadecimal da cor. Ex: R.color.red ou #FF0000.
Todos los métodos están disponibles a continuación:
getColorSilhouetteSuccess()
Método utilizado para personalizar el color de éxito de la silueta.
getColorSilhouetteError()
Método utilizado para personalizar el color de error de la silueta.
getColorBackground()
Método utilizado para personalizar el color de fondo de la silueta.
getColorBoxMessage()
Método utilizado para personalizar el color de fondo del mensaje.
getColorTextMessage()
Método utilizado para personalizar el color del texto del mensaje.
getColorTextPopupError()
Método utilizado para personalizar el color del texto e íconos del popup.
getColorBackgroundPopupError()
Método utilizado para personalizar el color de fondo del popup.
getColorBackgroundButtonPopupError()
Método utilizado para personalizar el color de fondo del botón del popup.
getColorTextButtonPopupError()
Método utilizado para personalizar el color del texto del botón del popup.
getColorBackgroundTakePictureButton()
Método utilizado para personalizar el color de fondo del botón para tomar foto manualmente.
getColorIconTakePictureButton()
Método utilizado para personalizar el color del ícono del botón para tomar foto manualmente.
getColorBackgroundBottomDocument()
Método utilizado para personalizar el color de fondo del cuadro en la captura de documentos.
getColorTextBottomDocument()
Método utilizado para personalizar el color del texto del cuadro en la captura de documentos.
getImageIconPopupError()
Método utilizado para personalizar el ícono del Popup de error, que se muestra cuando la cara está posicionada de forma incorrecta en el marco de captura.
getProgressBarColor()
(opcional)
Método opcional utilizado para personalizar el color del ícono de carga de la cámara Liveness con interacción. Si no se implementa, se utiliza el método getColorBoxMessage()
.
getCancelButtonIconColor()
(opcional)
Método opcional utilizado para personalizar el color del ícono de cancelar de la cámara Liveness con interacción. Si no se implementa, se utiliza el método getColorBackgroundTakePictureButton()
.
A continuación, algunos ejemplos de cómo puede utilizar los métodos anteriores en su proyecto:
¿No encontraste algo o aún necesitas ayuda? Si ya eres cliente o socio, puedes ponerte en contacto a través del Centro de Ayuda.
En esta sección, encontrará toda la información necesaria para el uso e integración del SDK de la plataforma Unico IDCloud en sus aplicaciones iOS.
En esta sección, encontrará toda la información necesaria para el tratamiento de errores del SDK de la plataforma Unico IDCloud en sus aplicaciones iOS.
ErrorBio
Este objeto es retornado siempre que ocurre un error en el SDK iOS.
getCode()
Método utilizado para obtener el código de error ocurrido.
getDescription()
Método utilizado para obtener la descripción del error ocurrido.
A continuación se presenta la lista de posibles códigos de error del SDK iOS:
73000
The Session was cancelled because of an unknown and unexpected error. The Unico Check SDK leverages a variety of iOS APIs including camera, storage, security, networking, and more. This return value is a catch-all for errors experienced during normal usage of these APIs.
73001
Context invalid
73003
The API version needs to be 11 or newer.
73006
Unable to open camera on emulators
73100
Unable to connect to internet
73200
Could not find the unico_sdk json file
73202
Unable to load unico_sdk json file
73203
Unable to load AcessoBioConfigDataSource
73204
Unable to initialize the SDK, please configure the environment on setEnviroment method of build.
73300
Unable to get unico authentication object
73301
Unable to parse unico authentication object
73302
Could not find the unico token
73701
Could not find active liveness import
73702
Unable to initialize active liveness in production mode
73703
Unable to get active liveness session
73704
The user pressed the cancel button and did not complete the Session.
73705
The Session was not performed successfully and a FaceScan was not generated. In general, other statuses will be sent to the developer for specific unsuccess reasons.
73706
The camera access is prevented because either the user has explicitly denied permission or the user's device is configured to not allow access by a device policy.
73707
The Session was cancelled due to the app being terminated, put to sleep, an OS notification, or the app was placed in the background.
73708
The Session was cancelled because the device is in landscape mode. The user experience of devices in these orientations is poor and thus portrait is required.
73709
The Session was cancelled because the device is in reverse portrait mode. The user experience of devices in these orientations is poor and thus portrait is required.
73710
The Session was cancelled because the user was unable to complete a Session in the default allotted time or the timeout set by the developer.
73711
The Session was cancelled due to memory pressure.
73712
The Session was cancelled because your App is not in production and requires a network connection.
73713
The Session was cancelled because your key needs to be validated again.
73714
The Session was cancelled because the developer-configured encryption key was not valid.
73715
The Session was cancelled because not all guidance images were configured.
73716
The Session was cancelled because SDK was unable to start the camera on this device.
73717
The Session was cancelled because the user was in a locked out state.
73718
The Session was cancelled because of an unknown and unexpected error. SDK leverages a variety of iOS APIs including camera, storage, security, networking, and more. This return value is a catch-all for errors experienced during normal usage of these APIs.
73719
The Session was cancelled because the user pressed the Get Ready screen subtext message. Note: This functionality is not available by default, and must be requested from FaceTec in order to enable it.
73720
The Session was not processed.
73721
The Session can't be performed: attempts limit exceeded.
73722
The Session can't be performed: face alignment timeout.
73730
Unable to initialize an active liveness session because of an unknown and unexpected license error.
73731
Unable to initialize an active liveness session because the license has expired.
73800
Could not build encrypted key
¿No encontraste algo o aún necesitas ayuda? Si ya eres cliente o socio, puedes ponerte en contacto a través del Centro de Ayuda.
En esta sección, encontrará toda la información necesaria para la instalación del SDK de la plataforma Unico IDCloud en sus aplicaciones iOS.
Es necesario que su entorno de desarrollo cumpla con los siguientes requisitos:
Tener la versión del SDK iOS en la versión 11 o superior;
PTener configurado el gestor de dependencias Cocoapods o Swift Package Manager.
El componente de captura disponible a través del SDK iOS es compatible con todos los dispositivos que tengan iOS 11 o versiones más recientes. Puede consultar la lista de estos dispositivos en los canales de soporte oficiales de Apple.
Para implementar el SDK iOS de la plataforma Unico IDCloud en su aplicación iOS, siga los pasos a continuación:
CocoaPods es un gestor de dependencias para proyectos Cocoa. Para instrucciones de uso e instalación, consulte la documentación oficial de CocoaPods. Para integrar el SDK iOS en su proyecto Xcode usando CocoaPods, siga las siguientes indicaciones:
Incluya unicocheck-ios
en su archivo Podfile
:
A continuación, solo debe usar el comando en su terminal para instalar las dependencias:
Si está ejecutando el proyecto en .xcodeproj, es necesario abrir el proyecto en .xcworkspace.
El Swift Package Manager es un gestor de dependencias para proyectos Swift. Está integrado al sistema de compilación Swift para automatizar el proceso de descarga, compilación y vinculación de dependencias. Para integrar el SDK iOS en su proyecto usando SPM, siga las siguientes indicaciones:
Incluya la dependencia en su archivo Package.swift
:
Póngase en contacto con el CS y/o el equipo de Onboarding.
Solicite la SDK Key proporcionando los identificadores de sus aplicaciones. Bundle Identifier para iOS, PackageID para Android y Host para WEB.
Los identificadores de sus aplicaciones serán vinculados a la SDK Key por el equipo de Unico.
Recibirá su SDK Key para implementar el AcessoBioConfigDataSource.
Listo. Una vez finalizada la instalación del SDK, continúe con la implementación leyendo el material Guía de uso e integración a continuación:
¿No encontraste algo o aún necesitas ayuda? Si ya eres cliente o socio, puedes ponerte en contacto a través del Centro de Ayuda.
En esta sección, encontrarás toda la información necesaria para el uso e integración del SDK de la plataforma Unico IDCloud en tus aplicaciones iOS para la captura de documentos.
Este guía ha sido elaborada para ayudarte a implementar el SDK iOS de manera rápida y sencilla. A continuación, verás el paso a paso de todo el proceso de integración. Después de eso, si deseas personalizar la experiencia, no olvides consultar la sección Personalización iOS.
En este modo de cámara, existe un marco de captura para ayudar al usuario a colocar el documento correctamente. Después de colocar el documento en la posición correcta, el usuario debe hacer clic en el botón para realizar la captura de la foto del documento.
El SDK no realiza ningún tipo de validación sobre lo que se está capturando.
En este modo de cámara, es posible capturar los siguientes documentos:
RG: Captura del RG (separado en frente y reverso);
CNH: Captura de la CNH abierta;
CNH frente: Captura del frente de la CNH;
CNH reverso: Captura del reverso de la CNH;
CPF: Captura del documento de CPF;
Sin silueta: Captura de documento genérico.
Para comenzar con el SDK iOS de la plataforma Unico IDCloud, importa el SDK e implementa la interfaz AcessoBioManagerDelegate
dentro del ViewController que deseas utilizar.
La implementación de esta clase es bastante simple y puede realizarse con pocas líneas de código. Todo lo que necesitas hacer es instanciar el builder, indicando el contexto en cuestión, y sobrescribir los métodos de callback con las lógicas de negocio de tu aplicación:
Ten en cuenta que, como en el ejemplo anterior, el trabajo de implementación de la interfaz AcessoBioManagerDelegate
es, en su mayoría, la configuración de los métodos de callback. Cada método se llama en una situación específica de retorno del SDK.
Basta sobrescribir los métodos ejemplificados en el paso anterior con las lógicas de negocio de tu aplicación:
onErrorAcessoBioManager(_ error: ErrorBio!)
Este método se invoca cuando ocurre cualquier error de implementación al utilizar alguno de los métodos, como por ejemplo, al informar un tipo de documento incorrecto para la funcionalidad de captura de documentos.
Al ser invocado, el método recibe un parámetro del tipo ErrorBio
que contiene detalles sobre el error. Infórmate más sobre el tipo ErrorBio
en el artículo de tratamiento de errores de este SDK.
onUserClosedCameraManually()
Este método se invoca siempre cuando el usuario cierre la cámara de forma manual, como por ejemplo, al hacer clic en el botón "Volver".
onSystemClosedCameraTimeoutSession()
Este método se invoca tan pronto como se alcanza el tiempo máximo de sesión (sin capturar ninguna imagen).
Se puede configurar en el builder a través del método setTimeoutSession. Este método debe recibir el tiempo máximo de la sesión en segundos. Es posible alterar el tiempo máximo de sesión de tu usuario al utilizar la funcionalidad de detección facial (Cámara de selfie con captura inteligente). Si se supera el tiempo determinado en tu proceso para capturar la foto, puedes mostrar algún mensaje personalizable o instrucción al usuario. El valor predeterminado es de 40 segundos y su valor mínimo también es de 40 segundos.
onSystemChangedTypeCameraTimeoutFaceInference()
Este método se invoca tan pronto como se alcanza el tiempo máximo para la detección del rostro de un usuario (sin haber detectado nada). En este caso, el modo de cámara se cambia automáticamente al modo de captura manual (sin el contorno de captura inteligente).
El tiempo máximo de captura al utilizar la detección del rostro (Cámara de selfie con captura inteligente) es de 13 segundos. Si el usuario tiene alguna dificultad para capturar la foto a través de la detección del rostro y supera el tiempo determinado en su proceso, la captura se cambia automáticamente a modo manual, con el objetivo de facilitar la acción para el usuario (TimeoutToFaceInference).
Todos los métodos anteriores deben ser creados de la manera indicada en tu proyecto (incluso sin ninguna lógica). De lo contrario, el proyecto no se compilará correctamente.
El método de apertura de la cámara (que se llama en el siguiente paso) necesita saber qué hacer cuando se capture una imagen con éxito o cuando ocurra un error en el proceso. Se informa "qué hacer" al método de apertura de la cámara a través de la configuración de delegados que se llaman en situaciones de éxito o error.
A través de la configuración de los delegados, puedes especificar lo que ocurre en tu aplicación en situaciones de error (método onErrorDocument
) o éxito (método onSuccessDocument
) al capturar imágenes.
Para la configuración de los delegados, debes implementar las interfaces DocumentCameraDelegate
y AcessoBioDocumentDelegate
:
onSucessDocument
Al realizar una captura de imagen con éxito, este método se invoca y retorna un objeto del tipo ResultCamera
, que se utiliza posteriormente en la llamada a las APIs REST.
El objeto ResultCamera
retorna 2 atributos: base64
y encrypted
:
El atributo base64
puede ser utilizado si deseas mostrar una vista previa de la imagen en tu app;
Tanto el atributo encrypted
como el atributo base64
pueden ser enviados en la llamada a las APIs REST.
Si es necesario convertir el base64 a bitmap, el método estándar no funciona para Android. Es necesario realizar el split a partir de la coma (,) para que funcione. Si deseas saber más, lee el artículo How to convert a Base64 string into a Bitmap image to show it in an ImageView?.
onErrorDocument
Cuando ocurre un error en la captura de la imagen, este método se invoca y retorna un objeto del tipo ErrorBio
.
Infórmate más sobre los tipos de ErrorBio
en la sección de tratamiento de errores del SDK.
Para abrir la cámara, es necesario prepararla utilizando el método prepareDocumentCamer
a. Este método recibe como parámetro la implementación de la clase DocumentCameraDelegate
y el JSON con las credenciales, generado en la etapa anterior.
Quando a câmera estiver preparada, o evento onCameraReadyDocument
é disparado, que recebe como parâmetro um objeto do tipo AcessoBioCameraOpenerDelegate
.
Você deve sobrescrever este método, efetuando a abertura da câmera com o objeto recebido através do método openDocument()
, recebendo os parâmetros tipo de documento a ser capturado, sendo eles:
DocumentCameraType.CPF
Marco para captura del frente del CPF
DocumentCameraType.CNH
Marco para captura de la CNH abierta
DocumentCameraType.CNH_FRENTE
Marco para captura del frente de la CNH
DocumentCameraType.CNH_VERSO
Marco para captura del reverso de la CNH
DocumentCameraType.RG_FRENTE
Marco para captura del frente del RG
DocumentCameraType.RG_VERSO
Marco para captura del reverso del RG
DocumentCameraType.None
Marco para captura de cualquier otro documento
En caso de que necesites capturar un documento para el cual no tengamos un marco específico (por ejemplo, RNE, entre otros), utiliza el marco DocumentEnums.none
, que te permitirá usar un marco genérico, rectangular, que puede ser utilizado para orientar cualquier captura.
Los delegados implementados anteriormente (aquí descritos como Self):
O tipo ErrorPrepare
é uma extensão de ErrorBio
contendo assim todas as suas propriedades. Saiba mais sobre o tipo ErrorBio
na seção de tratamiento de errores do SDK.
Caso ocorra algum erro ao preparar a câmera, o evento onCameraFailedDocument
é disparado. Você deve implementar este método aplicando as regras de negócio de seu App.
Em caso de sucesso, o evento onSuccessDocument
é disparado, conforme explicado na seção acima.
A captura das imagens é apenas a primeira parte da jornada. Após capturar a imagem, é necessário enviar o base64
gerado pelo SDK para as APIs REST do by Client. Saiba mais na seção Creación de proceso.
¿No encontraste algo o aún necesitas ayuda? Si ya eres cliente o socio, puedes ponerte en contacto a través del Centro de Ayuda.
En esta sección, encontrará toda la información necesaria para el uso e integración del SDK de la plataforma Unico IDCloud en sus aplicaciones iOS para la captura de selfies.
Para comenzar con el SDK iOS de Unico Check, importe el SDK e implemente la interfaz AcessoBioManagerDelegate
dentro del ViewController en el que desea utilizarlo.
La implementación de esta clase es bastante simple y puede realizarse con pocas líneas de código. Solo necesita instanciar el builder proporcionando el contexto y el entorno en cuestión, y sobrescribir los métodos de callback con las lógicas de negocio de su aplicación:
Configure el entorno que se utilizará durante la ejecución del SDK. Utilice el enumerado Environment
que contiene los siguientes valores:
PROD
: para entorno de Producción;
UAT
: para entorno de Homologación.
Vea cómo implementarlo en el siguiente ejemplo:
Tenga en cuenta que, conforme al ejemplo anterior, el trabajo de implementación de la interfaz AcessoBioManagerDelegate
consiste en gran parte en configurar los métodos de callback. Cada método es llamado en una situación específica del retorno del SDK.
Basta con sobrescribir los métodos ejemplificados en el paso anterior con la lógica de negocio de su aplicación:
onErrorAcessoBioManager(_ error: ErrorBio!)
Este método es invocado cuando ocurre cualquier error de implementación al utilizar alguno de los métodos, como por ejemplo, al proporcionar un tipo de documento incorrecto para la funcionalidad de captura de documentos.
onUserClosedCameraManually()
Este método se invoca siempre que el usuario cierre la cámara manualmente, como por ejemplo, al hacer clic en el botón "Volver".
onSystemClosedCameraTimeoutSession()
Este método se invoca tan pronto como se alcance el tiempo máximo de sesión (sin capturar ninguna imagen).
Puede ser configurado en el builder mediante el método setTimeoutSession. Este método debe recibir el tiempo máximo de sesión en segundos. Es posible cambiar el tiempo máximo de sesión de su usuario al utilizar la funcionalidad de detección facial (Cámara de selfie con captura inteligente). Si el usuario supera el tiempo determinado para capturar la foto, puede presentar un mensaje o instrucción personalizable al usuario. El valor predeterminado es de 40 segundos y su valor mínimo también es de 40 segundos.
onSystemChangedTypeCameraTimeoutFaceInference()
Este método se invoca tan pronto como se alcance el tiempo máximo para la detección facial de un usuario (sin que se haya detectado nada). En este caso, el modo de cámara se cambia automáticamente al modo de captura manual (sin la silueta de captura inteligente).
El tiempo máximo de captura al utilizar la detección facial (Cámara de selfie con captura inteligente) es de 13 segundos. Si el usuario tiene dificultades para capturar la foto a través de la detección facial y supera el tiempo determinado en su proceso, la captura se cambia automáticamente al modo manual con el fin de facilitar la acción para el usuario (TimeoutToFaceInference).
Todos los métodos anteriores deben ser creados de la manera indicada en su proyecto (aunque sin ninguna lógica). De lo contrario, el proyecto no compilará con éxito.
El SDK tiene configurado y habilitado por defecto el encuadre inteligente y la captura automática. Debido a esto, se debe configurar el modo de cámara en su builder de la siguiente manera:
Los valores false/true de los métodos anteriores no alteran la experiencia de captura, solo sirven para la lógica interna del funcionamiento del SDK.
El método de apertura de la cámara necesita saber qué hacer al conseguir capturar una imagen con éxito o al tener algún error en el proceso. Se informa "qué hacer" al método de apertura de la cámara a través de la configuración de delegados que son llamados en situaciones de éxito o error.
A través de la configuración de los delegados, puedes especificar qué sucede en tu aplicación en situaciones de error (método onErrorSelfie
) o éxito (método onSuccessSelfie
) en la captura de imágenes.
Para la configuración de los delegados, debes implementar las interfaces SelfieCameraDelegate
y AcessoBioSelfieDelegate
:
onSuccessSelfie
Al realizar una captura de imagen con éxito, este método es invocado y retorna un objeto del tipo SelfieResult
, que se utiliza posteriormente en la llamada a las APIs REST.
El objeto ResultCamera
retorna 2 atributos: base64
y encrypted
:
El atributo base64
puede ser utilizado si deseas mostrar una vista previa de la imagen en tu app;
El atributo encrypted
debe ser enviado en la llamada a las APIs REST.
El atributo encrypted
está destinado estrictamente al envío de la imagen a través de las APIs del by Client. No debe abrirse ni serializarse, ya que sus características pueden ser modificadas sin previo aviso. Su uso debe ser exclusivo en las interacciones con las APIs para garantizar la integridad y seguridad de los datos. Unico no se hace responsable de cualquier daño derivado de esta práctica, ya que las modificaciones pueden ocurrir de manera impredecible.
Los archivos base64/encrypted
pueden sufrir variaciones de tamaño según diversas variables, entre ellas, la calidad de los dispositivos y las fotos generadas por los mismos, así como las reglas de negocio de Unico. Para evitar problemas en tu aplicación, no limites en tu lógica de programación ni en tu infraestructura el tamaño de la cadena generada por el SDK para los archivos.
onErrorSelfie
Cuando ocurre un error en la captura de la imagen, este método es invocado y retorna un objeto del tipo ErrorBio
:
Si no se configura, el SDK utiliza el entorno configurado a través del archivo de configuración (getHostKey). Si no se está utilizando getHostKey, se devuelve un error.
Es posible configurar el entorno que se utilizará en la ejecución del SDK. Utiliza el enumerado EnvironmentEnum
, que contiene los siguientes valores:
EnvironmentEnum.PROD
: para el entorno de Producción
EnvironmentEnum.UAT
: para el entorno de Homologación
Mira cómo implementarlo en el siguiente ejemplo:
Para continuar con la apertura de la cámara, primero debes prepararla utilizando el método prepareSelfieCamera
. Este método recibe como parámetro la implementación de la clase SelfieCameraDelegate
y el JSON con las credenciales, generado en la etapa anterior.
Cuando la cámara esté preparada, el evento onCameraReady
se dispara y recibe como parámetro un objeto del tipo AcessoBioCameraOpenerDelegate
.
Debes sobrescribir este método, realizando la apertura de la cámara con el objeto recibido a través del método open()
:
Si ocurre algún error al preparar la cámara, el evento onCameraFaile
d se dispara. Debes implementar este método aplicando las reglas de negocio de tu aplicación.
Por motivos de seguridad, el intervalo entre la generación del encrypted
y el envío a través de uno de los flujos disponibles debe ser como máximo de 10 minutos. Los envíos realizados después de este período serán rechazados automáticamente por la API.
Tener instalada la versión 15.0.1 o superior de (IDE oficial de desarrollo de Apple);
Esta guía ha sido elaborada para ayudarlo a implementar el SDK iOS de forma rápida y fácil. A continuación, verá el paso a paso de todo el proceso de integración. Después de esto, si desea personalizar la experiencia, no deje de consultar la sección
Al ser invocado, el método recibirá un parámetro del tipo ErrorBio
que contiene detalles del error. Obtenga más información sobre el tipo ErrorBio
en el artículo de de este SDK.
Si deseas convertir el base64 a bitmap, el método estándar no funciona para iOS. Es necesario realizar el split a partir de la coma (,
) para que funcione. Si deseas saber más, lee el siguiente artículo: .
Infórmate más sobre los tipos de ErrorBio
en la sección de del SDK.
El tipo ErrorPrepare
es una extensión de ErrorBio
, por lo que contiene todas sus propiedades. Infórmate más sobre el tipo ErrorBio
en la sección de del SDK.
La captura de las imágenes es solo la primera parte del proceso. Después de capturar la imagen, es necesario enviar el encrypted
generado por el SDK a las APIs REST del by Client. Infórmate más en la sección .
¿No encontraste algo o aún necesitas ayuda? Si ya eres cliente o socio, puedes ponerte en contacto a través del .
En esta sección, encontrará todas las actualizaciones del SDK de iOS
Mantenga su SDK de iOS siempre actualizado con la última versión disponible.
Se utiliza el versionado semántico para numerar las versiones. Para más información, consulte el artículo Visión General.
Actualización del SDK y servidor de Liveness con interacción.
A partir de Xcode 15, Apple ha abandonado el soporte para iOS 11. Unico abandonará el soporte para iOS 11 en el SDK de Unico Check en una versión futura.
Actualización del SDK y servidor de Liveness con interacción.
A partir de Xcode 15, Apple ha abandonado el soporte para iOS 11. Unico abandonará el soporte para iOS 11 en el SDK de Unico Check en una versión futura.
¿No encontraste algo o aún necesitas ayuda? Si ya eres cliente o socio, puedes ponerte en contacto a través del Centro de Ayuda.
En esta sección, encontrará la solución a algunos problemas comunes en la integración del SDK de la plataforma Unico IDCloud en sus aplicaciones iOS.
El material de ofuscación tiene como objetivo ayudar al desarrollador a superar los problemas de ofuscación en su aplicación.
El ofuscador del cliente puede afectar el funcionamiento del SDK, por lo que es necesario que no ofusque el código del SDK.
Unico se exime de responsabilidad respecto a los conflictos de ofuscación con el SDK.
La ofuscación es un proceso que transforma el bytecode en una forma menos legible para los humanos, dificultando así la ingeniería inversa.
Este proceso consiste en eliminar información relacionada con la depuración, como tablas de variables, número de líneas, y renombrar los paquetes, clases y métodos.
Al integrar el SDK iOS en la aplicación, pueden ocurrir fallas.
Cuando la ofuscación se realice con la herramienta iXGuard, se sugiere utilizar la versión 4.12.6 o superior.
La responsabilidad del control del flujo se delega a quien llama al SDK. Por lo tanto, si aparece alguna forma de sombra o la pantalla no se cierra después de la finalización exitosa de la captura, se sugiere implementar una forma de liberar esta pantalla. Esta liberación puede variar según el apilamiento de navegación implementado. Para esta implementación, agregue el método adecuado para la liberación preferiblemente dentro del método delegado onSuccessSelfie
. A continuación, algunos ejemplos de liberación que pueden ser utilizados:
Después del lanzamiento oficial de Xcode 16 el 17 de septiembre de 2024 y su uso para la distribución de aplicaciones en la App Store, se detectó un bloqueo al utilizar el SDK iOS, señalando el uso de bitcode
en dos dependencias internas al usar Cocoapods
como gestor de dependencias internas: DeviceProfiling
y UnicoSdkLogger
.
Para evitar bloquear nuevos lanzamientos, es posible aplicar el siguiente paso a paso hasta que se realice la corrección definitiva en una futura versión del SDK iOS:
Abrir archivo Podfile
;
Insertar las siguientes líneas después del comando post_install do |installer|
y antes del último end
:
2.1. En caso de que ya exista algún código, insertarlo antes del fragmento existente;
2.2. En caso de que ya se elimine el bitcode manualmente, agregar las rutas explícitamente mencionadas en framework_paths
;
Si no existe el comando post_install do |installer|
en el archivo Podfile, insertarlo de la siguiente manera antes del último end
:
Fuente: Bitrise, Xcode 16 release notes, Stackoverflow.
¿No encontraste algo o aún necesitas ayuda? Si ya eres cliente o socio, puedes ponerte en contacto a través del Centro de Ayuda.