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.

Vonage

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.json Datei, die die entsprechende Farbsemantik erzeugt xcassets im VERACommonUI beim 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.json und ein Skript, das Farb-Assets erzeugt, in VERACommonUI.
  • 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.

Vonage ## Next steps

Um die iOS-Referenz-App zu installieren, zu konfigurieren und auszuführen, folgen Sie den Anweisungen in der README des Repositorys: