SDK iOS Video API de Vonage
Le SDK iOS de la Video API vous permet d'utiliser des sessions vidéo basées sur la Video API dans les applications que vous développez pour les appareils iPad, iPhone et iPod touch.
- Présentation du SDK
- Référence API
- Tutoriels
- Exemples
- Notes de mise à jour
Toutes les Applications qui utilisent l'API Video de Vonage sont composées de deux parties :
- Le côté client, qui utilise le SDK clients OpenTok et s'exécute dans le navigateur ou l'application mobile de l'utilisateur
- Le côté serveur, qui utilise le SDK pour serveurs OpenTok et s'exécute sur votre serveur pour transmettre les informations d'authentification au client.
Le Client SDK permettant de développer des applications iOS est le SDK OpenTok pour iOS, qui fournit la plupart des fonctionnalités essentielles à votre application, notamment :
- Connexion à une session OpenTok
- Publication de flux dans une session
- S'abonner à des flux dans une session
Des SDK clients sont également disponibles pour le Web, Android, iOS, Windows, macOS, Linux et React. Tous les SDK clients OpenTok peuvent interagir entre eux.
Pour en savoir plus sur les principes de base des clients, des serveurs et des sessions OpenTok, ainsi que sur d'autres sujets, rendez-vous sur le Les bases de Video API page.
Remarques importantes
- La version 2.35.1+ du SDK ne prend en charge qu'iOS 17 ou une version ultérieure.
- La version 2.35.1+ prend en charge Swift Package Manager. La distribution CocoaPods est obsolète et sera supprimée dans une prochaine version.
- La version 2.33.0+ du SDK prend en charge les Mac équipés d'un processeur Apple Silicon et fonctionnant sous macOS 14 ou une version ultérieure. Consultez la section « Assistance macOS » ci-dessous pour connaître les particularités et les limitations propres à cette plateforme.
- Le partage d'écran sur macOS est limité à la fenêtre de l'application. - La capture du bureau complet n'est pas prise en charge. Voir ce problème connu pour plus de détails.
- Modifications de la mise en réseau sous iOS 14 affectant les sessions relayées - voir la liste des problèmes connus dans les notes de mise à jour.
- Problèmes liés à l'utilisation de Simulator pour prévisualiser votre application sur un Mac équipé d'une puce M1 - voir la liste des problèmes connus dans les notes de mise à jour.
Interopérabilité
Les applications développées à l'aide du SDK iOS OpenTok 2.35.1 peuvent interagir avec les applications OpenTok développées à l'aide de la version 2.33 ou supérieure des Client SDK OpenTok :
- OpenTok.js
- SDK OpenTok pour Android
- SDK OpenTok pour iOS
- SDK OpenTok pour Windows
- SDK OpenTok pour macOS
- SDK OpenTok pour Linux
- OpenTok React Native SDK
Installation
Le SDK iOS de Vonage Video prend en charge Swift Package Manager (SPM) comme méthode de distribution recommandée, disponible depuis la version 2.35.1. La distribution via CocoaPods via le OTXCFramework Le pod est également maintenu à des fins de compatibilité ascendante tant que la prise en charge de CocoaPods est disponible, mais il est en voie de dépréciation et sera finalement supprimé.
Recommandation : Les nouveaux projets doivent utiliser Swift Package Manager. Si vous utilisez actuellement CocoaPods, consultez la Migration depuis CocoaPods ci-dessous.
Swift Package Manager (recommandé)
Swift Package Manager est directement intégré à Xcode et ne nécessite aucun outil supplémentaire.
Dans Xcode :
- Ouvrez votre projet dans Xcode.
- Aller à Fichier > Ajouter des dépendances de paquets…
- Saisissez l'URL du dépôt suivante dans la barre de recherche : https://github.com/opentok/opentok-ios-sdk.git
- Sélectionnez la règle de version (par exemple : Jusqu'au prochain tournoi majeur) puis cliquez sur Ajouter un paquet.
- Sélectionnez l'option OpenTokClientSDKVideo bibliothèque, puis cliquez sur Ajouter à la liste d'achats.
Les dépendances SPM sont résolues et téléchargées automatiquement lors de la compilation ou de l'ouverture du projet dans Xcode. Vous pouvez les consulter sous la rubrique Dépendances des paquets section dans le Navigateur de projet.
CocoaPods (obsolète)
⚠️ Avis de dépréciation : La distribution via CocoaPods est en voie d'abandon. Le OTXCFramework pod continuera d'être mis à jour tant que la prise en charge de CocoaPods sera disponible, mais nous vous recommandons vivement de migrer vers Swift Package Manager.
Ajoutez ce qui suit à votre Podfile:
target 'YourApp' do
pod 'OTXCFramework'
end
Ensuite, exécutez :
Ouvrez le fichier généré .xcworkspace fichier (pas .xcodeproj) pour compiler votre projet.
Migration depuis CocoaPods
Si votre projet utilise actuellement le OTXCFramework Pour le pod CocoaPods, suivez ces étapes afin de migrer vers Swift Package Manager :
- Supprimez CocoaPods de votre projet :
Cela supprime toutes les phases de compilation et tous les paramètres CocoaPods de votre .xcodeproj.
-
Supprimer les fichiers CocoaPods : Supprimer
Podfile,Podfile.locket lePods/répertoire de votre dossier de projet. Supprimez également le fichier généré par CocoaPods.xcworkspacesi vous n'en avez plus besoin. -
Ajoutez le SDK via SPM : Suivez les Gestionnaire de paquets Swift suivez les instructions ci-dessus pour ajouter
https://github.com/opentok/opentok-ios-sdk.giten tant que dépendance du paquet. -
Mettez à jour vos importations : Si vous importiez
OpenTok, le nom du module reste le même — aucune modification n'est nécessaire au niveau des importations. -
Compiler et vérifier : Ouvrez votre
.xcodeprojdirectement dans Xcode (sans.xcworkspacenécessaires pour les projets SPM uniquement) et lancez la compilation pour vérifier que tout fonctionne correctement.
Configuration requise
La version actuelle du SDK OpenTok pour iOS (2.35.1+) est prise en charge sous iOS 17 ou une version ultérieure.
Le SDK OpenTok pour iOS est pris en charge sur les connexions Wi-Fi, 4G/LTE et 5G.
Le SDK OpenTok pour iOS nécessite Xcode 7 ou une version ultérieure.
Pour une diffusion vidéo fiable, assurez-vous que votre appareil répond aux spécifications recommandées :
- CPU : Apple A12 Bionic ou plus récent.
- MÉMOIRE VIVE : Au moins 4 Go de RAM pour les appels de groupe et le multitâche.
- Écran : 5.4"+ pour iPhone, 10.2"+ pour iPad.
- Capacité de la batterie : 3000+ mAh pour l'iPhone, 7000+ mAh pour l'iPad.
- Réseau : Connectivité internet fiable ; fonctionne sur Wi-Fi ou cellulaire.
Ces recommandations garantissent une lecture stable, une utilisation réduite de l'unité centrale et des performances fluides lors de la diffusion de vidéos.
Exemples d'appareils : iPhone XS ou plus récent (2018+), iPad Pro (toute génération), iPad Air 3 ou plus récent, iPad mini 5 ou plus récent.
Apprendre à construire
La meilleure façon d'apprendre à utiliser le SDK OpenTok pour iOS est de suivre le tutoriel « OpenTok Basic Video Chat » :
Une fois que vous maîtriserez les bases du développement avec le SDK iOS d'OpenTok, vous pourrez obtenir des informations plus détaillées et découvrir comment personnaliser votre application avec OpenTok guides destinés aux développeurs. Pour étudier des classes et des méthodes spécifiques de l'API, voir la page Référence de l'API du SDK OpenTok pour iOS.
Utiliser le SDK
Le répertoire OpenTok.framework contient le SDK OpenTok pour iOS.
Le SDK OpenTok pour iOS nécessite les frameworks et bibliothèques suivants :
- AudioToolbox.framework
- AVFoundation.framework
- CoreGraphics.framework
- CoreMedia.framework
- CoreTelephony.framework
- CoreVideo.framework
- Foundation.framework
- GLKit.framework
- libc++.dylib (libc++.tbd dans Xcode 7 et versions ultérieures)
- libsqlite3.dylib (libsqlite3++.tbd dans Xcode 7 et versions ultérieures)
- Métal.cadre
- MetalKit.framework
- MetalPerformanceShaders.framework
- OpenGLES.framework
- QuartzCore.framework
- SystemConfiguration.framework
- UIKit.framework
- VideoToolbox.framework
Le SDK iOS d’OpenTok s’appuie sur la bibliothèque standard libc++. Si une autre bibliothèque s’appuyant sur la bibliothèque standard libc++ a été compilée avec une version d’Xcode antérieure à la version 6.0.0, cela peut entraîner des erreurs de segmentation (segfaults) lors de l’exécution lorsqu’elle est utilisée avec le SDK iOS d’OpenTok. Parmi les bibliothèques incompatibles connues figurent, entre autres, Firebase (versions antérieures à la 2.1.2 — voir https://code.google.com/p/webrtc/issues/detail?id=3992) et Google Maps (versions antérieures à la 1.9.0). Pour résoudre ce problème, téléchargez une version de l'autre bibliothèque compilée avec XCode 6.0.0 ou une version ultérieure.
Si vous utilisez une version de Xcode antérieure à la version 7.2.0, n'utilisez pas l'option -all_load indicateur de l'éditeur de liens. Utilisez plutôt le -force_load indicateur de l’éditeur de liens permettant de charger certaines bibliothèques qui en ont besoin.
Pour accéder à l'appareil photo et au microphone, iOS 10 exige que vous définissiez des valeurs pour le paramètre NSCameraUsageDescription et NSMicrophoneUsageDescription clés du fichier Info.plist. Celles-ci définissent les chaînes de caractères qui s'affichent dans le programme d'installation de l'application afin d'expliquer à l'utilisateur pourquoi votre application utilise l'appareil photo et le microphone. Pour plus d'informations, consultez la documentation d'Apple sur les clés Cocoa.
Voir ce contenu pour obtenir des informations sur l'utilisation du SDK dans les applications fonctionnant en arrière-plan.
Support macOS
Le SDK OpenTok pour iOS version 2.33.0 et ultérieures est pris en charge sur les Mac équipés d'Apple Silicon (M1, M2, M3 et versions ultérieures) fonctionnant sous macOS 14 ou une version ultérieure. Sous macOS, le SDK offre la plupart des fonctionnalités disponibles sur les appareils iOS, mais il existe quelques différences et limitations spécifiques à la plateforme qu'il convient de garder à l'esprit.
Comportement de l'appareil photo sous macOS
Les appareils macOS disposent généralement d'une seule caméra intégrée (la caméra FaceTime), qui est toujours désignée comme la caméra frontale (AVCaptureDevicePositionFront). Les caméras externes connectées au Mac sont également traitées comme des caméras frontales.
Considérations importantes :
- Contrairement aux appareils iOS, les Mac n'ont pas de notion de "caméra arrière"
- Les
cameraPositionla propriété se résoudra toujours à la caméra frontale sur macOS - Pour basculer entre plusieurs caméras (par exemple, la caméra intégrée et une caméra externe) sous macOS, vous pouvez mettre en place un système de capture vidéo personnalisé. Pour plus d'informations, consultez cette documentation.
Traitement des rotations
Avertissement : Les appareils macOS ne prennent pas en charge la rotation automatique de l'orientation, contrairement aux appareils mobiles iOS.
- La vidéo est toujours publiée en orientation paysage
- Les événements de rotation des appareils ne se produisent pas sous macOS
- Les applications doivent gérer l'orientation manuellement si des ajustements spécifiques de la mise en page sont nécessaires.
Limitation de la torche (lampe de poche)
Avertissement : La fonction « lampe de poche » de l'appareil photo n'est pas disponible sous macOS.
- Réglage de la
cameraTorchà la propriétéYESn'aura aucun effet sur macOS - Les appareils photo Mac (intégrés ou externes) ne prennent pas en charge la fonctionnalité torche/flashlight.
- Cette fonction est spécifique aux appareils mobiles iOS
Échantillons de code
Pour obtenir un exemple de code, visitez notre site Référentiel « vonage-video-ios-sdk-samples » sur GitHub.
Documentation et informations complémentaires
La documentation de référence se trouve dans le sous-répertoire « doc » du SDK et dans le Référence du SDK local.
Pour une liste des nouvelles fonctionnalités et des problèmes connus, voir la page notes de mise à jour.