Suggestions

close search

Add Messaging, Voice, and Authentication to your apps with Vonage Communications APIs

Visit the Vonage API Developer Portal

Vonage Video API iOS SDK

The Vonage Video API iOS SDK lets you use Vonage Video API-powered video sessions in apps you build for iPad, iPhone, and iPod touch devices.

Important notes:

  • Version 2.25.1 of the SDK removes support for FAT binaries (previously available as Pod "OpenTok"). Only XCFramework artifacts are supported (available as Pod "OTXCFramework").
  • Version 2.25.1 of the SDK adds support for Swift Package Manager.
  • Version 2.24+ of the SDK drops 32-bit support.
  • Version 2.24.2+ of the SDK only supports iOS 13 or higher.
  • Version 2.23+ of the SDK only supports iOS 12 or higher.
  • Changes to iOS 14 networking affecting relayed sessions — see the list of known issues in the release notes.

This page covers the following topics:


Overview

All applications that use the Vonage Video API are composed of two parts:

The client SDK for building iOS apps is the OpenTok iOS SDK, which provides most of the core functionality for your app, including:

You can learn more about the basics of OpenTok clients, servers, sessions, and more on the Video API Basics page.

Building with the OpenTok iOS SDK

The best way to learn how to use the OpenTok iOS SDK is to follow the OpenTok Basic Video Chat tutorial:

Start tutorial

Once you understand the basics of building with the OpenTok iOS SDK, you can get more detailed information and learn how to customize your application with the OpenTok developer guides. To investigate specific API classes and methods, see the OpenTok iOS SDK API reference.

Code samples

For samples using Swift, visit our Swift sample app repo on GitHub.

For samples using Objective-C, visit our Objective-C sample app repo on GitHub.

Interoperability

Apps written with the OpenTok iOS SDK 2.27.2 can interoperate with OpenTok apps written with version 2.25+ of the OpenTok client SDKs:

Using the SDK

The OpenTok.framework directory contains the OpenTok iOS SDK.

The OpenTok iOS SDK supports XCFramework artifacts and is available as the Pod "OTXCFramework", for use with CocoaPods. It is also available as a Swift Package Manager package: https://github.com/opentok/vonage-client-sdk-video.git.

The OpenTok iOS SDK requires Xcode 7 or higher.

The OpenTok iOS SDK requires the following frameworks and libraries:

The OpenTok iOS SDK links to the libc++ standard library. If another library that links to the libc++ standard library was compiled in a version of Xcode older than 6.0.0, it may result in segfaults at run time when using it with the OpenTok iOS SDK. Known incompatible libraries include, but are not limited to, Firebase (versions earlier than 2.1.2 -- see https://code.google.com/p/webrtc/issues/detail?id=3992) and Google Maps (versions earlier than 1.9.0). To fix this issue, download a version of the other library that was compiled using XCode 6.0.0 or later.

If you are using a version of Xcode prior to 7.2.0, do not use the -all_load linker flag. Instead, use the -force_load linker flag to load specific libraries that require it.

In order to access the camera and microphone, iOS 10 requires you to set values for the NSCameraUsageDescription and NSMicrophoneUsageDescription keys in the Info.plist file. These define strings that appear in the app installer to inform the user why your app uses the camera and microphone. For more information see the Apple documentation on Cocoa keys.

See the release notes for information on the latest version of the SDK and for a list of known issues.

See this document for information on using the SDK in apps running in the background mode.

System requirements

The OpenTok iOS SDK is supported on the following devices:

The OpenTok iOS SDK is supported in iOS 13 or higher.

The OpenTok iOS SDK is supported on Wi-Fi, 4G/LTE, and 5G connections.

The OpenTok iOS SDK supports one published audio-video stream, one subscribed audio-video stream, and up to three additional subscribed audio-only streams simultaneously on the iPhone 5s (the lowest-end device supported). On the iPhone 7, tests have shown support for subscribing to as many as 20 simultaneous low-resolution (200x200-pixel, 15-frame-per-second) streams. To connect more than two clients in a session using the OpenTok iOS SDK, create a session that uses the OpenTok Media Router (a session with the media mode set to routed). See The OpenTok Media Router and media modes.

Sample apps

For samples using Swift, visit our Swift sample app repo on GitHub.

For samples using Objective-C, visit our Objective-C sample app repo on GitHub.

Documentation

Reference documentation is included in the doc subdirectory of the SDK and at http://www.tokbox.com/developer/sdks/ios/reference/index.html.

More information

For a list of new features and known issues, see the release notes.