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.

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 :

  1. Ouvrez votre projet dans Xcode.
  2. Aller à Fichier > Ajouter des dépendances de paquets…
  3. Saisissez l'URL du dépôt suivante dans la barre de recherche : https://github.com/opentok/opentok-ios-sdk.git
  4. Sélectionnez la règle de version (par exemple : Jusqu'au prochain tournoi majeur) puis cliquez sur Ajouter un paquet.
  5. 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 :

pod install

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 :

  1. Supprimez CocoaPods de votre projet :
pod deintegrate

Cela supprime toutes les phases de compilation et tous les paramètres CocoaPods de votre .xcodeproj.

  1. Supprimer les fichiers CocoaPods : Supprimer Podfile, Podfile.locket le Pods/ répertoire de votre dossier de projet. Supprimez également le fichier généré par CocoaPods .xcworkspace si vous n'en avez plus besoin.

  2. 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.git en tant que dépendance du paquet.

  3. 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.

  4. Compiler et vérifier : Ouvrez votre .xcodeproj directement dans Xcode (sans .xcworkspace né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 » :

Commencer le tutoriel

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 cameraPosition la 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é YES n'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.