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

  1. Descarga el proyecto de Clip SDK desde el Panel de desarrolladores.
  2. Dirígete a la carpeta del proyecto mediante la terminal.
  3. Verifica que exista el archivo Cartfile dentro de la carpeta.
  4. Ejecuta el siguiente comando en la terminal:
    carthage bootstrap --use-xcframeworks --platform iOS

Agregando los paquetes de Clip SDK a tu proyecto

  1. Abre con Xcode el proyecto de tu aplicación iOS para el SDK de Clip.
  2. Selecciona tu proyecto de la lista Target en la parte superior izquierda.
  3. Dirígete a la sección Linked Frameworks and Libraries en la pestaña General de tu proyecto.
  4. Agrega los siguientes archivos con extensión .xcframework:
ClipAuthenticationSDK.xcframework
ClipCommonSDK.xcframework
ClipPaymentSDK.xcframework
ClipPaymentUISDK.xcframework
ClipReaderSDK.xcframework
28802880

Sección de Frameworks, Libraries, and Embedded Content para importar las librerías al proyecto de Clip

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.

23782378

Configuración del archivo info.plist en XCode

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.