Erste Schritte mit der iOS-Referenz-App
Die iOS-Referenz-App demonstriert eine moderne Swift-Architektur mit modularisierter Geschäftslogik, CI-fähigen Skripten und einem Meeting-Erlebnis, das auf der Vonage Video API basiert. Sie ist so konzipiert, dass iOS-Ingenieure UX-Entscheidungen, Testabdeckung und Automatisierung validieren können.
Was es beinhaltet
Die iOS-Referenz-App bietet einen vollständigen Meetingablauf und gemeinsame Konferenzbausteine:
- A Zielseite wo Nutzer Besprechungsräume erstellen und ihnen beitreten können.
- A Wartezimmer um eine Vorschau der Audio- und Videogeräte zu sehen und einen Anzeigenamen festzulegen, bevor Sie beitreten.
- A Videoraum mit Unterstützung von bis zu 25 Teilnehmer.
- A Nachgesprächsseite um zurück zur Landing Page zu navigieren, den Raum erneut zu betreten und die verfügbaren Archive anzuzeigen.
- Konfigurierbares Thema angetrieben von einem
semantics.jsonDatei, die die entsprechende Farbsemantik erzeugtxcassetsimVERACommonUIbeim Ausführen der generate-app-theme.py python-Skript.
Architektur
Die iOS-Referenzanwendung ist als eine Reihe von Swift-Frameworks implementiert:
- VERAApp - Hauptanwendungsziel und Kompositionsstamm. Verdrahtet Abhängigkeiten, Navigation und Konfiguration.
- VERACore - UI und Geschäftslogik für die Hauptansichten.
- VERAChat - Chat-Funktionalität während der Sitzung.
- VERAVonageChatPlugin - Adapter, der den Chat mit den Plugin-Schnittstellen verbindet.
- VERAVonageCallKitPlugin - CallKit-Integrationsplugin, damit Anrufe mit dem iOS-System koordiniert werden.
- VERADomain - Gemeinsame Domänenmodelle und Entitäten.
- VERAConfiguration - Spezifikation der App-Konfiguration, einschließlich der generierten Flags von
app-config.json. - VERACommonUI - Gemeinsame UI-Komponenten, Assets und Themenressourcen.
- VERAVonage - Integration des Vonage Video SDK.
Die Anwendung stützt sich auf ein leichtgewichtiges Backend zur Erzeugung von Sitzungs-IDs und Token. Die Backend-URL wird in der Datei DependencyContainer.swift Datei im VERAApp-Modul.
Einige Frameworks sind universell einsetzbar, was schnelle Tests auf macOS-Zielen ermöglicht und die Wiederverwendung auf verschiedenen Apple-Plattformen verbessert.
Hauptmerkmale
Das Meeting-Erlebnis in der iOS-Referenz-App umfasst:
- Landeplätze und Warteräume damit Benutzer mit den richtigen Geräten und der richtigen Identität beitreten können.
- Aktive Lautsprechererkennung.
- Layout-Manager mit Optionen für Raster- und Aktivlautsprecheransichten.
- Dynamisches Video-Layout das auf neue Teilnehmer reagiert, Kacheln ausblendet, um Bandbreite zu sparen, und den nächsten aktiven Teilnehmer befördert, wenn jemand geht.
- Teilnehmerliste mit Anzeigen zum Ein- und Ausschalten des Tons.
- ShareLink-Integration um Besprechungslinks über das iOS-Freigabeblatt zu teilen.
- CallKit-Integration so dass die Aufrufe mit der Benutzeroberfläche und den Verhaltensweisen auf Systemebene koordiniert werden.
- Konfigurierbare Merkmale basierend auf der app-config.json-Datei, in der die xcworkspace-Module und aktiven Funktionen deklariert sind.
- Theme-Anpassung mit
semantics.jsonund ein Skript, das Farb-Assets erzeugt, inVERACommonUI. - Unterstützung bei Tests Verwendung des Swift Testing Frameworks für Unit-, Integrations- und Snapshot-Tests.
Diese Funktionen werden mit Hilfe von Best Practices für Skalierbarkeit, Sicherheit und iOS-spezifische UX implementiert.
Personalisierung
Die iOS-Referenz-App unterstützt die Anpassung von Funktionen und Benutzeroberfläche mithilfe von Konfigurationsdateien und Skripten.
Konfiguration der Merkmale
Die Konfiguration erfolgt über eine app-config.json Datei, die in das Verzeichnis VERA/Config Ordner.
Wenn Sie die generate-app-config.py Python-Skript in der VERA/Scripts werden die Parameter, die in app-config.json regenerieren die AppConfig.swift Datei der VERAConfiguration Modul.
Einige der in der JSON-Datei angegebenen Funktionen sind noch nicht implementiert.
Sobald die app-config.json Datei konfiguriert ist, wird die tuist generate liest die JSON-Datei und konfiguriert das Projekt, indem es nur die erforderlichen Module hinzufügt.
Thema und UI-Anpassung
Sie können die Farben der App anpassen, indem Sie die semantics.json Datei helle und dunkle Farbschemawerte und dann durch Ausführen der generate-app-theme.py Skript im VERA/Scripts Ordner.
Dies erzeugt die xcasset-Ressourcen mit den angegebenen RGB-Werten in der VERACommonUI Modul.
## Next steps
Um die iOS-Referenz-App zu installieren, zu konfigurieren und auszuführen, folgen Sie den Anweisungen in der README des Repositorys: