Resumen
- Rol: Lead iOS Developer (Desarrollo integral de la aplicación para iPad y sistema de descargas).
- Cliente / Contexto: Aplicación Pantalla Cine ABC para iPad, diseñada para la descarga y reproducción de películas asociadas a códigos promocionales distribuidos por el periódico ABC en su edición dominical.
- Tech Stack: iOS, API REST, CoreData, UIWebView, MPMoviePlayerViewController, MPMoviePlayerController, sistema de descarga en segundo plano: NSURLSession, NSURLSessionDownloadTask, NSURLSessionDownloadDelegate, NSURLSessionTaskDelegate, NSFileManager.
El Reto
Desarrollar una aplicación para iPad que permitiera a los usuarios descargar y reproducir películas mediante códigos promocionales. El principal reto técnico consistió en implementar desde cero un sistema robusto de descarga de archivos pesados de vídeo, incluyendo la gestión y seguimiento en segundo plano (background) y su perfecta coordinación con una interfaz de usuario propia que mostraba el estado y progreso en tiempo real. Además, el proyecto exigió integrar la comunicación con una API REST para la gestión de contenidos y restricciones de acceso según el tipo de usuario.
Logros y Aportes Técnicos
- Sistema de Descarga en Segundo Plano (Background Downloads):
- Desarrollo desde cero de la arquitectura de descarga de archivos de vídeo con soporte y persistencia en background.
- Implementación de una interfaz de seguimiento y control visual para supervisar el estado y el progreso detallado de las descargas de contenido.
- Gestión de Contenidos y Reproducción Nativa:
- Integración completa con una API REST para la sincronización de catálogos y la validación/control de códigos promocionales.
- Implementación del reproductor de vídeo utilizando las capacidades y optimizaciones nativas del ecosistema iOS.
- Gestión de reglas y restricciones de reproducción condicionadas al perfil o tipo de usuario.
Impacto y Resultados Técnicos
- Experiencia de Entretenimiento Offline: Creación de un canal digital directo para los lectores del periódico, permitiendo disfrutar de estrenos y películas semanales directamente en el iPad con total flexibilidad de descarga.
- Robustez en Transferencia de Archivos: Resolución exitosa de la gestión de descargas pesadas en segundo plano, asegurando la estabilidad de la app ante interrupciones de red o cambios de estado en el dispositivo.