Démarrer avec l'application de référence iOS
L'application de référence iOS démontre une architecture Swift moderne avec une logique commerciale modularisée, des scripts compatibles avec CI et une expérience de réunion construite sur l'API Video de Vonage. Elle est conçue pour que les ingénieurs iOS puissent valider les décisions UX, la couverture des tests et l'automatisation.
Ce qu'il comprend
L'application de référence iOS fournit un flux de réunion complet et des éléments de base pour les conférences :
- A page d'atterrissage où les utilisateurs peuvent créer et rejoindre des salles de réunion.
- A salle d'attente pour prévisualiser les appareils audio et vidéo et définir un nom d'affichage avant d'adhérer.
- A salle vidéo qui prend en charge jusqu'à 25 participants.
- A page d'après-appel pour revenir à la page d'accueil, entrer à nouveau dans la salle et afficher les archives disponibles.
- Thème configurable par l'intermédiaire d'un
semantics.jsonqui génère la sémantique des couleurs correspondantexcassetsdans leVERACommonUIlors de l'exécution du generate-app-theme.py script python.
Architecture
L'application de référence iOS est mise en œuvre sous la forme d'un ensemble de cadres Swift :
- VERAApp - Cible principale de l'application et racine de la composition. Il s'agit du fil des dépendances, de la navigation et de la configuration.
- VERACore - L'interface utilisateur et la logique d'entreprise pour les vues principales.
- VERAChat - Fonctionnalité de chat en réunion.
- VERAVonageChatPlugin - Adaptateur qui relie le chat aux interfaces du plugin.
- VERAVonageCallKitPlugin - Plugin d'intégration CallKit pour que les appels soient coordonnés avec le système iOS.
- Domaine VERAD - Modèles et entités de domaines partagés.
- VERAConfiguration - Spécification de la configuration de l'application, y compris les drapeaux générés par
app-config.json. - VERACommonUI - Partage des composants de l'interface utilisateur, des ressources et des thèmes.
- VERAVonage - Intégration du SDK vidéo de Vonage.
L'application s'appuie sur un backend léger pour générer des ID de session et jetons. L'URL du backend est configurée dans le fichier DependencyContainer.swift dans le module VERAApp.
Certains frameworks sont universels, ce qui permet des tests rapides sur les cibles macOS et améliore la réutilisation sur les plateformes Apple.
Principales caractéristiques
L'expérience de la réunion dans l'application de référence iOS comprend :
- Salles d'attente et d'embarquement afin que les utilisateurs puissent s'inscrire avec les bons appareils et la bonne identité.
- Détection active du haut-parleur.
- Responsable de la mise en page avec des options de grille et d'affichage de l'orateur actif.
- Mise en page vidéo dynamique qui réagit aux nouveaux arrivants, cache les tuiles pour économiser la bande passante et promeut le participant actif suivant lorsque quelqu'un s'en va.
- Liste des participants avec des indicateurs d'activation et de désactivation de l'audio.
- Intégration de ShareLink pour partager des liens de réunion à l'aide de la feuille de partage d'iOS.
- Intégration de CallKit les appels sont donc coordonnés avec l'interface utilisateur et les comportements d'appel au niveau du système.
- Caractéristiques configurables basé sur le fichier app-config.json qui déclare les modules xcworkspace et les fonctionnalités actives.
- Personnalisation du thème en utilisant
semantics.jsonet un script qui génère des actifs de couleur dansVERACommonUI. - Soutien aux essais utiliser le cadre de test Swift pour les tests unitaires, les tests d'intégration et les tests instantanés.
Ces fonctionnalités sont mises en œuvre en utilisant les meilleures pratiques en matière d'évolutivité, de sécurité et d'interface utilisateur spécifique à iOS.
Personnalisation
L'application de référence iOS permet de personnaliser les fonctionnalités et l'interface utilisateur à l'aide de fichiers de configuration et de scripts.
Configuration des fonctionnalités
La configuration est gérée par l'intermédiaire d'un app-config.json qui peut être déplacé vers le fichier VERA/Config dossier.
Lorsque vous exécutez le generate-app-config.py script Python dans le VERA/Scripts les paramètres spécifiés dans le dossier app-config.json régénérer le AppConfig.swift du fichier VERAConfiguration module.
Certaines des fonctionnalités déclarées dans le fichier JSON ne sont pas encore mises en œuvre.
Une fois que le app-config.json est configuré, le fichier tuist generate lit le fichier JSON et configure le projet en ajoutant uniquement les modules nécessaires.
Personnalisation du thème et de l'interface utilisateur
Vous pouvez personnaliser les couleurs de l'application en modifiant le fichier semantics.json et ensuite en exécutant le fichier generate-app-theme.py dans le VERA/Scripts dossier.
Cela génère les ressources xcasset avec les valeurs RVB spécifiées dans le fichier VERACommonUI module.
Prochaines étapes
Pour installer, configurer et exécuter l'application de référence iOS, suivez les instructions du README du référentiel :