Integración con iOS
Para integrar la librería de Clip, sólo es necesario importarla en tu proyecto de iOS como parte de las dependencias.
El SDK de Clip te ofrece un proyecto demo para integrar el SDK a tu aplicación y poder analizar ejemplos de código para integrar la solución personalizada a tu propia aplicación móvil de iOS.
El SDK de Clip para iOS soporta la integración con aplicaciones desarrolladas en Swift y Objective-C.
Prerrequisitos
Para poder integrar el SDK de Clip a tu aplicación de iOS, debes cumplir los siguientes prerrequisitos:
- Tener una cuenta de Clip
- Tener una aplicación iOS con versión mínima iOS 11 o superior
- Agregar las librerías del SDK como dependencias en el proyecto de iOS
- Configurar los permisos del dispositivo requeridos por el SDK
- Utilizar Carthage versión 0.38.0
- Utilizar Xcode versión 13.3
- Utilizar Swift versión 5.6
- Definir la región del dispositivo iOS a México, si se busca ejecutar la aplicación en un dispositivo iOS
Ambientes de desarrollo
NOTA: Por el momento no existe un ambiente “sandbox” para pruebas y sólo está disponible el ambiente de producción.
Configuración del proyecto
Es necesario configurar los ajustes iniciales en tu proyecto para poder integrar tu solución con las librerías del SDK de Clip.
Agregando las librerías
Es necesario agregar las librerías para el SDK de Clip como dependencias de tu proyecto de iOS.
- Librerías de Clip: las librerías de Clip se proporcionan con los archivos del proyecto SDK y se integran de forma directa.
- Librerías externas: las librerías de terceros están disponibles por medio de Carthage, una herramienta diseñada para manejar dependencias.
Instalando el Clip SDK y librerías o dependencias externas con Carthage
- Descarga el proyecto de Clip SDK desde el Panel de desarrolladores.
- Dirígete a la carpeta del proyecto mediante la terminal.
- Verifica que exista el archivo Cartfile dentro de la carpeta.
- Ejecuta el siguiente comando en la terminal:
carthage bootstrap --use-xcframeworks --platform iOS
Agregando los paquetes de Clip SDK a tu proyecto
- Abre con Xcode el proyecto de tu aplicación iOS para el SDK de Clip.
- Selecciona tu proyecto de la lista Target en la parte superior izquierda.
- Dirígete a la sección Linked Frameworks and Libraries en la pestaña General de tu proyecto.
- Agrega los siguientes archivos con extensión .xcframework:
ClipAuthenticationSDK.xcframework
ClipCommonSDK.xcframework
ClipPaymentSDK.xcframework
ClipPaymentUISDK.xcframework
ClipReaderSDK.xcframework
Configurando Info
Esta sección contiene información relacionada a configuraciones en la pestaña de Info en tu proyecto.
En la sección de Localizations, agrega soporte para idioma Español.
Configurando Build Phases
Esta sección contiene información relacionada a configuraciones en la pestaña de Build Phases en el Target de tu proyecto.
Agrega el siguiente Run Script .
/usr/local/bin/carthage copy-frameworks
Agrega el siguiente Input File, reemplazando Project_Name por el nombre de tu proyecto.
$(SRCROOT)/Carthage/Build/iOS/*Project_Name*.framework
Configurando los permisos en info.plist
Para poder integrar el SDK de Clip en tu aplicación de iOS, es necesario incluir las siguientes propiedades dentro de tu archivo info.plist para el dispositivo que utilizará la aplicación.
Configura tu info.plist con los siguientes permisos:
<key>NSBluetoothAlwaysUsageDescription</key>
<string>Clip uses your device's bluetooth to connect to card readers</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>This app needs to use bluetooth to communicate with the Clip Reader</string>
<key>NSLocationUsageDescription</key>
<string>This app needs to know your location in order to charge payments</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>This app needs to know your location in order to charge payments</string>
La tabla siguiente incluye una descripción para cada uno de los permisos requeridos:
Permiso |
Funcionalidad |
Descripción |
NSBluetoothAlwaysUsageDescription |
Bluetooth |
Para descubrir y emparejar nuevos dispositivos desde la aplicación iOS. |
NSBluetoothPeripheralUsageDescription |
Bluetooth |
Para conectarse con la terminal de Clip.
|
NSLocationUsageDescription |
Ubicación |
Para poder tomar y procesar el pago. |
NSLocationWhenInUseUsageDescription |
Ubicación |
Para poder tomar y procesar el pago. |
En el mismo archivo, agrega las siguientes configuraciones para asegurar la compatibilidad de tu aplicación con el SDK de Clip:
<key>UIUserInterfaceStyle</key>
<string>Light</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
<key>CFBundleLocalizations</key>
<array>
<string>en</string>
<string>es</string>
</array>
La tabla siguiente incluye una descripción para cada una de las configuraciones requeridas:
Configuración |
Descripción |
UIUserInterfaceStyle |
Compatibilidad de la interfaz para temas claros (light theme).
El SDK sólo es compatible con un tema claro para tu aplicación. Si se utiliza un tema oscuro algunos elementos pueden no mostrarse correctamente. |
UISupportedInterfaceOrientations |
Compatibilidad con la orientación de la aplicación para iPhone con soporte para retrato y panorama. |
UISupportedInterfaceOrientations~ipad |
Compatibilidad con la orientación de la aplicación para iPad con soporte para retrato y panorama. |
CFBundleLocalizations |
Compatibilidad con idiomas español e inglés. |