Primeros pasos con la aplicación de referencia de iOS
La aplicación de referencia de iOS muestra una arquitectura Swift moderna con lógica empresarial modularizada, scripts compatibles con CI y una experiencia de reunión basada en la API de vídeo de Vonage. Está diseñada para que los ingenieros de iOS puedan validar las decisiones de UX, la cobertura de pruebas y la automatización.
Qué incluye
La aplicación de referencia de iOS proporciona un flujo de reuniones completo y bloques de construcción de conferencias comunes:
- A página de aterrizaje donde los usuarios pueden crear y unirse a salas de reuniones.
- A sala de espera para previsualizar los dispositivos de audio y vídeo y establecer un nombre de visualización antes de unirse.
- A sala de vídeo que admite hasta 25 participantes.
- A página posterior a la llamada para volver a la página de inicio, volver a entrar en la sala y mostrar los archivos disponibles.
- Tema configurable impulsado por un
semantics.jsonque genera la correspondiente semántica del colorxcassetsen elVERACommonUIcuando se ejecuta el generar-app-tema.py script en python.
Arquitectura
La aplicación de referencia de iOS se implementa como un conjunto de frameworks Swift:
- VERAApp - Objetivo principal de la aplicación y raíz de composición. Vincula las dependencias, la navegación y la configuración.
- VERACore - Interfaz de usuario y lógica de negocio para las vistas principales.
- VERAChat - Funcionalidad de chat durante las reuniones.
- VERAVonageChatPlugin - Adaptador que conecta el chat a las interfaces del plugin.
- VERAVonageCallKitPlugin - Plugin de integración con CallKit para que las llamadas se coordinen con el sistema iOS.
- VERADominio - Modelos de dominio y entidades compartidos.
- VERAConfiguración - Especificación de la configuración de la aplicación, incluidas las banderas generadas a partir de
app-config.json. - VERACommonUI - Componentes de interfaz de usuario, activos y recursos temáticos compartidos.
- VERAVonage - Integración del SDK de vídeo de Vonage.
La aplicación se basa en un backend ligero para generar ID de sesión y fichas. La URL del backend se configura en el DependencyContainer.swift en el módulo VERAApp.
Algunos marcos son universales, lo que permite realizar pruebas rápidas en objetivos macOS y mejora la reutilización en todas las plataformas Apple.
Características principales
La experiencia de reunión en la aplicación de referencia de iOS incluye:
- Aterrizaje y salas de espera para que los usuarios puedan unirse con los dispositivos y la identidad correctos.
- Detección activa de altavoces.
- Responsable de diseño con opciones para las vistas de cuadrícula y de altavoz activo.
- Diseño de vídeo dinámico que reacciona ante las nuevas incorporaciones, oculta las fichas para conservar el ancho de banda y asciende al siguiente participante activo cuando alguien se marcha.
- Lista de participantes con indicadores de activación/desactivación de audio.
- Integración de ShareLink para compartir enlaces de reuniones mediante la hoja para compartir de iOS.
- Integración de CallKit para que las llamadas se coordinen con la interfaz de usuario y los comportamientos de llamada a nivel de sistema.
- Funciones configurables basado en el archivo app-config.json que declara los módulos de xcworkspace y las funciones activas.
- Personalización de temas utilizando
semantics.jsony un script que genera activos de color enVERACommonUI. - Apoyo a las pruebas utilizando el marco Swift Testing para pruebas unitarias, de integración e instantáneas.
Estas funciones se implementan utilizando las mejores prácticas de escalabilidad, seguridad y experiencia de usuario específica de iOS.
Personalización
La aplicación de referencia de iOS permite personalizar las funciones y la interfaz de usuario mediante archivos de configuración y secuencias de comandos.
Configuración de funciones
La configuración se gestiona a través de un app-config.json que se puede mover al archivo VERA/Config carpeta.
Cuando ejecute la función generate-app-config.py script de Python en el VERA/Scripts los parámetros especificados en app-config.json regenerar el AppConfig.swift del archivo VERAConfiguration módulo.
Algunas de las características declaradas en el archivo JSON aún no se han implementado.
Una vez que el app-config.json está configurado, el tuist generate lee el archivo JSON y configura el proyecto añadiendo únicamente los módulos necesarios.
Personalización del tema y la interfaz de usuario
Puede personalizar los colores de la aplicación editando el archivo semantics.json valores de los esquemas de color claro y oscuro y luego ejecutando el programa generate-app-theme.py en el VERA/Scripts carpeta.
Esto genera los recursos xcasset con los valores RGB especificados en el campo VERACommonUI módulo.
Próximos pasos
Para instalar, configurar y ejecutar la aplicación de referencia de iOS, siga las instrucciones del archivo README del repositorio: