Vonage Video API iOS SDK
Mit dem Vonage Video API iOS SDK können Sie auf der Vonage Video API basierende Videositzungen in Apps nutzen, die Sie für iPad-, iPhone- und iPod touch-Geräte entwickeln.
- SDK-Übersicht
- API-Referenz
- Anleitungen
- Beispiele
- Anmerkungen zur Veröffentlichung
Alle Applikationen, die die Vonage Video API nutzen, bestehen aus zwei Teilen:
- Die Client-Seite, die die OpenTok-Client-SDKs und läuft im Browser oder in der mobilen App eines Nutzers
- Die serverseitige Komponente, die die OpenTok-Server-SDKs und läuft auf Ihrem Server, um Authentifizierungsdaten an den Client weiterzuleiten.
Das Client SDK zum Erstellen von iOS-Apps ist das OpenTok iOS SDK, das die meisten Kernfunktionen für Ihre App bereitstellt, darunter:
- Verbindung zu einer OpenTok-Sitzung herstellen
- Veröffentlichen von Streams in einer Sitzung
- Abonnieren von Streams in einer Sitzung
Client-SDKs sind außerdem für das Web, Android, iOS, Windows, macOS, Linux und React verfügbar. Alle OpenTok-Client-SDKs sind untereinander kompatibel.
Weitere Informationen zu den Grundlagen von OpenTok-Clients, -Servern, -Sitzungen und vielem mehr finden Sie auf der Video API-Grundlagen Seite.
Wichtige Hinweise
- Die Version 2.35.1+ des SDK unterstützt nur iOS 17 oder höher.
- Version 2.35.1+ unterstützt den Swift Package Manager. Die CocoaPods-Distribution ist veraltet und wird in einer zukünftigen Version entfernt.
- Die Version 2.33.0+ des SDK unterstützt Macs mit Apple Silicon, auf denen macOS 14 oder höher läuft. Plattformspezifische Hinweise und Einschränkungen finden Sie im Abschnitt „macOS-Support“ weiter unten.
- Die Bildschirmfreigabe unter macOS ist auf das eigene Fenster der Anwendung beschränkt - Die Erfassung des gesamten Desktops wird nicht unterstützt. Siehe dieses bekannte Problem für Einzelheiten.
- Änderungen am iOS 14-Netzwerk, die sich auf weitergeleitete Sitzungen auswirken - siehe die Liste der bekannte Probleme in den Versionshinweisen.
- Probleme bei der Verwendung des Simulators zur Vorschau Ihrer Anwendung auf einem Mac mit M1-Chip - siehe die Liste der bekannte Probleme in den Versionshinweisen.
Interoperabilität
Apps, die mit dem OpenTok iOS SDK 2.35.1 entwickelt wurden, sind mit OpenTok-Apps kompatibel, die mit Version 2.33 oder höher der OpenTok-Client SDKs entwickelt wurden:
- OpenTok.js
- OpenTok Android SDK
- OpenTok iOS-SDK
- OpenTok Windows SDK
- OpenTok macOS SDK
- OpenTok Linux-SDK
- OpenTok React Native SDK
Einrichtung
Das Vonage Video iOS SDK unterstützt Swift Package Manager (SPM) als empfohlene Verteilungsmethode, verfügbar seit Version 2.35.1. Die Verteilung über CocoaPods erfolgt über die OTXCFramework pod wird ebenfalls aus Gründen der Abwärtskompatibilität weiter gepflegt, solange die Unterstützung durch CocoaPods noch verfügbar ist; es wird jedoch als veraltet eingestuft und schließlich entfernt.
Empfehlung: Bei neuen Projekten sollte der Swift Package Manager verwendet werden. Wenn Sie derzeit CocoaPods nutzen, lesen Sie bitte die Migration von CocoaPods Abschnitt unten.
Swift Package Manager (empfohlen)
Der Swift Package Manager ist direkt in Xcode integriert und erfordert keine zusätzlichen Tools.
In Xcode:
- Öffnen Sie Ihr Projekt in Xcode.
- Gehe zu Datei > Paketabhängigkeiten hinzufügen…
- Geben Sie die folgende Repository-URL in die Suchleiste ein: https://github.com/opentok/opentok-ios-sdk.git
- Wählen Sie die Versionsregel aus (z. B. Bis zum nächsten Major) und klicken Sie auf Paket hinzufügen.
- Wählen Sie die OpenTokClientSDKVideo Bibliothek und klicken Sie auf Zum Warenkorb hinzufügen.
SPM-Abhängigkeiten werden beim Erstellen oder Öffnen des Projekts in Xcode automatisch aufgelöst und heruntergeladen. Sie können sie unter dem Paketabhängigkeiten Abschnitt im Projekt-Navigator.
CocoaPods (veraltet)
⚠️ Hinweis zur Veralterung: Die CocoaPods-Distribution wird nicht mehr unterstützt. Die OTXCFramework pod wird weiterhin gepflegt, solange CocoaPods unterstützt wird, wir empfehlen jedoch dringend, auf den Swift Package Manager umzusteigen.
Füge Folgendes zu deiner Podfile:
target 'YourApp' do
pod 'OTXCFramework'
end
Führen Sie anschließend Folgendes aus:
Öffnen Sie die erstellte .xcworkspace Datei (nicht .xcodeproj), um Ihr Projekt zu erstellen.
Migration von CocoaPods
Falls Ihr Projekt derzeit die OTXCFramework CocoaPods-Pod: Befolgen Sie diese Schritte, um auf den Swift Package Manager umzusteigen:
- Entfernen Sie CocoaPods aus Ihrem Projekt:
Dadurch werden alle CocoaPods-Build-Phasen und -Einstellungen aus Ihrer .xcodeproj.
-
CocoaPods-Dateien löschen: Entfernen
Podfile,Podfile.lockund diePods/Verzeichnis aus Ihrem Projektordner. Löschen Sie außerdem die von CocoaPods erstellte.xcworkspacefalls Sie es nicht mehr benötigen. -
Fügen Sie das SDK über SPM hinzu: Folgen Sie dem Swift-Paketmanager Befolgen Sie die obigen Anweisungen, um Folgendes hinzuzufügen:
https://github.com/opentok/opentok-ios-sdk.gitals Paketabhängigkeit. -
Aktualisieren Sie Ihre Importe: Wenn Sie importieren würden
OpenTok, der Modulname bleibt unverändert – es sind keine Änderungen am Import erforderlich. -
Erstellen und Verify: Öffnen Sie Ihre
.xcodeprojdirekt in Xcode (kein.xcworkspace(erforderlich für reine SPM-Projekte) und führen Sie den Build durch, um sicherzustellen, dass alles korrekt aufgelöst wird.
Systemanforderungen
Die aktuelle Version des OpenTok iOS SDK (2.35.1+) wird unter iOS 17 oder höher unterstützt.
Das OpenTok iOS SDK wird bei WLAN-, 4G/LTE- und 5G-Verbindungen unterstützt.
Für das OpenTok iOS SDK ist Xcode 7 oder höher erforderlich.
Für zuverlässiges Videostreaming sollten Sie sicherstellen, dass Ihr Gerät diese empfohlenen Spezifikationen erfüllt:
- CPU: Apple A12 Bionic oder neuere Version.
- ARBEITSSPEICHER: Mindestens 4 GB RAM für Gruppenanrufe und Multitasking.
- Display: 5,4"+ für iPhone, 10,2"+ für iPad.
- Batteriekapazität: 3000+ mAh für iPhone, 7000+ mAh für iPad.
- Netzwerk: Zuverlässige Internetverbindung; funktioniert über Wi-Fi oder Mobilfunk.
Diese Empfehlungen gewährleisten eine stabile Wiedergabe, eine geringere CPU-Auslastung und eine reibungslose Leistung beim Videostreaming.
Gerätebeispiele: iPhone XS oder neuer (2018+), iPad Pro (jede Generation), iPad Air 3 oder neuer, iPad mini 5 oder neuer.
Bauen lernen
Am besten lernen Sie den Umgang mit dem OpenTok iOS SDK, indem Sie das OpenTok-Tutorial „Basic Video Chat“ durcharbeiten:
Sobald Sie die Grundlagen der Entwicklung mit dem OpenTok iOS SDK verstanden haben, können Sie sich detailliertere Informationen beschaffen und erfahren, wie Sie Ihre Application mit OpenTok anpassen können. Entwicklerhandbücher. Um bestimmte API-Klassen und -Methoden zu untersuchen, siehe die OpenTok iOS SDK – API-Referenz.
Verwendung des SDK
Das Verzeichnis „OpenTok.framework“ enthält das OpenTok-iOS-SDK.
Das OpenTok-iOS-SDK benötigt die folgenden Frameworks und Bibliotheken:
- AudioToolbox.framework
- AVFoundation.framework
- CoreGraphics.framework
- CoreMedia.framework
- KernTelefonie.framework
- CoreVideo.framework
- Stiftung.framework
- GLKit.framework
- libc++.dylib (libc++.tbd in Xcode 7+)
- libsqlite3.dylib (libsqlite3++.tbd in Xcode 7+)
- Metall.Rahmen
- MetalKit.framework
- MetalPerformanceShaders.framework
- OpenGLES.framework
- QuartzCore.framework
- SystemConfiguration.framework
- UIKit.framework
- VideoToolbox.framework
Das OpenTok iOS SDK ist mit der Standardbibliothek libc++ verknüpft. Wenn eine andere Bibliothek, die mit der Standardbibliothek libc++ verknüpft ist, mit einer Xcode-Version älter als 6.0.0 kompiliert wurde, kann dies bei der Verwendung mit dem OpenTok iOS SDK zu Segfaults zur Laufzeit führen. Zu den bekannten inkompatiblen Bibliotheken gehören unter anderem Firebase (Versionen vor 2.1.2 – siehe https://code.google.com/p/webrtc/issues/detail?id=3992) und Google Maps (Versionen vor 1.9.0). Um dieses Problem zu beheben, laden Sie eine Version der anderen Bibliothek herunter, die mit XCode 6.0.0 oder höher kompiliert wurde.
Wenn Sie eine Version von Xcode vor 7.2.0 verwenden, verwenden Sie nicht die -all_load Linker-Flag. Verwenden Sie stattdessen das -force_load Linker-Flag zum Laden bestimmter Bibliotheken, die dies erfordern.
Um auf die Kamera und das Mikrofon zugreifen zu können, müssen Sie in iOS 10 die Werte für die NSCameraUsageDescription und NSMicrophoneUsageDescription Schlüssel in der Datei „Info.plist“. Diese definieren Textzeichenfolgen, die im App-Installationsprogramm angezeigt werden, um den Benutzer darüber zu informieren, warum Ihre App die Kamera und das Mikrofon nutzt. Weitere Informationen finden Sie unter die Apple-Dokumentation über Cocoa-Tasten.
Siehe dieser Inhalt für Informationen zur Verwendung des SDK in Anwendungen, die im Hintergrundmodus laufen.
macOS-Unterstützung
Das OpenTok iOS SDK 2.33.0+ wird auf Apple-Silicon-Macs (M1, M2, M3 und neuer) mit macOS 14 oder höher unterstützt. Unter macOS bietet das SDK weitgehend dieselben Funktionen wie auf iOS-Geräten, allerdings gibt es einige plattformspezifische Unterschiede und Einschränkungen, die zu beachten sind.
Kamera-Verhalten unter macOS
macOS-Geräte haben in der Regel eine einzige eingebaute Kamera (die FaceTime-Kamera), die immer als Frontkamera zugeordnet ist (AVCaptureDevicePositionFront). Externe Kameras, die an den Mac angeschlossen sind, werden ebenfalls als Frontkameras behandelt.
Wichtige Überlegungen:
- Im Gegensatz zu iOS-Geräten gibt es bei Macs das Konzept der "Rückfahrkamera" nicht.
- Die
cameraPositionEigenschaft wird unter macOS immer in Frontkamera aufgelöst - Um unter macOS zwischen mehreren Kameras (z. B. integrierte vs. externe) umzuschalten, können Sie einen benutzerdefinierten Video-Capturer implementieren. Weitere Informationen finden Sie unter diese Dokumentation.
Handhabung der Rotation
Warnung: macOS-Geräte unterstützen keine automatische Drehung der Bildschirmausrichtung wie iOS-Mobilgeräte.
- Das Video wird immer im Querformat veröffentlicht.
- Gerätedrehungsereignisse treten unter macOS nicht auf
- Applications müssen die Ausrichtung manuell vornehmen, wenn spezielle Layout-Anpassungen erforderlich sind
Taschenlampe (Flashlight) Einschränkung
Warnung: Die Taschenlampenfunktion der Kamera ist unter macOS nicht verfügbar.
- Einstellung der
cameraTorchEigenschaft zuYEShat keine Auswirkungen auf macOS - Mac-Kameras (integriert oder extern) unterstützen keine Taschenlampenfunktion
- Diese Funktion ist spezifisch für iOS-Mobilgeräte
Code-Muster
Für Beispielcode besuchen Sie unsere Das Repo „vonage-video-ios-sdk-samples“ auf GitHub.
Dokumentation und weitere Informationen
Die Referenzdokumentation befindet sich im Unterverzeichnis „doc“ des SDK sowie in der Lokale SDK-Referenz.
Eine Liste der neuen Funktionen und bekannten Probleme finden Sie in der Versionshinweise.