Rate this page:

iOS SDK

You can start by downloading our demos (Swift, Objective-C, Bitcode) or follow the installation steps below. The iOS SDK has three dependencies, you can check them directly on the cocoapods site.

Adding SDK to your application using Cocoapods

  • Install the CocoaPods (see getting starting guide)

  • Follow the instructions to create or modify Podfile

  • Add VoxImplantSDK dependency to your target in Podfile

    platform :ios, '9.0'
    use_frameworks!
    
    target 'MyApp' do
        // other dependencies and configurations
        pod 'VoxImplantSDK'
    end
    
  • Run "pod install" command in the terminal from your project directory

  • Open the *.xcworkspace file that was created. This should be the file you use every day to create your app.

You can see the example of Podfile in our demo repository.

You can also use bitcode assemblies in your builds. Despite having this option, the usage of bitcode libraries is not recommended for debug/testing builds because of its size. The VoxImplantWebRTC bitcode assembly is unoptimized and around 700 Mb. Due to the size, it allows Apple services to pick only the required components and methods from it. See the details here.

Initializing SDK

Include the NSMicrophoneUsageDescription and NSCameraUsageDescription keys in your app's Info.plist file and provide reasonable strings for these keys. If your app attempts to access any of the device’s microphones or cameras without corresponding reasonable strings, your app exits.

You also have to declare four Background Modes:

  • Audio and AirPlay
  • Background fetch
  • Remote notifications
  • Voice over IP

Enabling the Background Modes option adds the UIBackgroundModes key to your app’s Info.plist file. Selecting checkboxes in Xcode adds the corresponding background mode values to that key.

Then create a VIClient instance and initialize it as specified in the documentation:

VIClient

VIClient

Connect and Log In

Firstly, you need to connect to the Voximplant cloud. As a result, the clientSessionDidConnect: or client:sessionDidFailConnectWithError: event will be sent to VIClientSessionDelegate. After the connection is established, use the loginWithUser:password:success:failure: function to authenticate. For example, when you need to login user myuser to application myapp in your Voximplant account named myaccount with password mypass:

loginWithUser

loginWithUser