Aplicación iOS
Esta guía es para desarrolladores que crean o personalizan la aplicación compañera de LeadHub para iOS. El código fuente de la aplicación está escrito en Swift y es compatible con iPhone e iPad.
Requisitos
- Xcode 15 o posterior (solo macOS)
- Swift 5.9 o posterior
- Objetivo de despliegue de iOS: iOS 15.0 mínimo
- Una cuenta de desarrollador de Apple (requerida para TestFlight y distribución en App Store)
- Una instancia de LeadHub con una URL HTTPS válida y una clave de API activa
Configuración del Proyecto
- Abre la carpeta
ios/de tu compra de LeadHub en Xcode. - Abre el archivo
.xcworkspace(no el.xcodeproj) si hay dependencias de CocoaPods o Swift Package Manager presentes. - Selecciona tu equipo de desarrollo en los ajustes de Firma y Capacidades del proyecto.
- Compila y ejecuta en un simulador o dispositivo.
Arquitectura
La aplicación usa una arquitectura estándar de iOS:
- URLSession con un cliente API personalizado para las llamadas HTTP a la API REST de LeadHub
- Combine o async/await para operaciones asíncronas
- SwiftUI para la interfaz de usuario
- CoreData para el almacenamiento en caché local de leads entre sesiones
- Apple Push Notification Service (APNs) para las notificaciones push
Las claves de API se almacenan en el Keychain de iOS usando el framework Security.
Flujo de Autenticación
- El usuario introduce la URL de su instancia de LeadHub y la clave de API en la pantalla de incorporación.
- La aplicación hace una solicitud
GET /api/v1/healthpara verificar que la instancia es accesible por HTTPS. - Verifica que la clave de API es válida haciendo una solicitud autenticada de prueba.
- La URL y la clave de API se almacenan en el Keychain.
Notificaciones Push
Las notificaciones push usan Apple Push Notification Service (APNs).
- En tu cuenta de desarrollador de Apple, crea una clave APNs (archivo .p8) en Certificates, Identifiers & Profiles → Keys.
- Anota el ID de la clave y tu ID de equipo.
- En la configuración del backend de LeadHub, establece
APNS_KEY,APNS_KEY_ID,APNS_TEAM_IDyAPNS_BUNDLE_ID. - En Xcode, habilita la capacidad Push Notifications en Firma y Capacidades.
La aplicación se registra para notificaciones push en el primer inicio y envía el token del dispositivo al backend de LeadHub a través de la API.
Compilar para Distribución
- Archiva la aplicación mediante Product → Archive en Xcode.
- En la ventana del Organizador, haz clic en Distribute App.
- Elige App Store Connect para distribución en App Store, o TestFlight para pruebas beta.
- Sigue las indicaciones de Xcode para cargar.
Endpoints de API Utilizados
| Endpoint | Propósito |
|---|---|
GET /api/v1/health | Verificar la conectividad de la instancia |
GET /api/v1/leads | Cargar la lista de leads |
GET /api/v1/leads/{id} | Cargar el detalle de un lead |
PATCH /api/v1/leads/{id} | Actualizar el estado o la etapa del lead |
POST /api/v1/leads/{id}/tags | Añadir etiqueta a un lead |
GET /api/v1/pipelines | Cargar la lista de pipelines para el selector de etapas |
Alcances Mínimos Requeridos de la Clave de API
| Alcance | Motivo |
|---|---|
read:leads | Ver leads |
write:leads | Actualizar estado, etapa y etiquetas del lead |
read:pipelines | Rellenar el selector de etapas del pipeline |
Declaración de Privacidad en el App Store
Al enviar al App Store, declara el siguiente uso de datos en la sección de Privacidad de la App:
- Información de contacto (email, teléfono) — recopilada de leads, no de usuarios
- Identificadores (clave de API) — vinculada al usuario, usada para autenticación
- Datos de uso — no se recopilan