Saltar al contenido principal

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

  1. Abre la carpeta ios/ de tu compra de LeadHub en Xcode.
  2. Abre el archivo .xcworkspace (no el .xcodeproj) si hay dependencias de CocoaPods o Swift Package Manager presentes.
  3. Selecciona tu equipo de desarrollo en los ajustes de Firma y Capacidades del proyecto.
  4. 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

  1. El usuario introduce la URL de su instancia de LeadHub y la clave de API en la pantalla de incorporación.
  2. La aplicación hace una solicitud GET /api/v1/health para verificar que la instancia es accesible por HTTPS.
  3. Verifica que la clave de API es válida haciendo una solicitud autenticada de prueba.
  4. La URL y la clave de API se almacenan en el Keychain.

Notificaciones Push

Las notificaciones push usan Apple Push Notification Service (APNs).

  1. En tu cuenta de desarrollador de Apple, crea una clave APNs (archivo .p8) en Certificates, Identifiers & Profiles → Keys.
  2. Anota el ID de la clave y tu ID de equipo.
  3. En la configuración del backend de LeadHub, establece APNS_KEY, APNS_KEY_ID, APNS_TEAM_ID y APNS_BUNDLE_ID.
  4. 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

  1. Archiva la aplicación mediante Product → Archive en Xcode.
  2. En la ventana del Organizador, haz clic en Distribute App.
  3. Elige App Store Connect para distribución en App Store, o TestFlight para pruebas beta.
  4. Sigue las indicaciones de Xcode para cargar.

Endpoints de API Utilizados

EndpointPropósito
GET /api/v1/healthVerificar la conectividad de la instancia
GET /api/v1/leadsCargar 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}/tagsAñadir etiqueta a un lead
GET /api/v1/pipelinesCargar la lista de pipelines para el selector de etapas

Alcances Mínimos Requeridos de la Clave de API

AlcanceMotivo
read:leadsVer leads
write:leadsActualizar estado, etapa y etiquetas del lead
read:pipelinesRellenar 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