Home
/
Calls
/
iOS

Install and configure the Calls SDK

Installing the Calls SDK is simple if you’re familiar with using external libraries or SDK’s in your projects. After creating your Sendbird application from your dashboard, install Git Large File Storage (LFS), then you can choose to install the Calls SDK using either CocoaPods or Carthage.


Requirements

The minimum requirements for Calls SDK for iOS are:

  • iOS 9.0 and later
  • Swift 4.0 and later

Step 1: Create a Sendbird application from your dashboard

A Sendbird application comprises everything required in a Calls service including users, message, and channels. To create an application:

  1. Go to the Sendbird Dashboard and enter your email and password, and create a new account. You can also sign up with a Google account.
  2. When prompted by the setup wizard, enter your organization information to manage Sendbird applications.
  3. Lastly, when your dashboard home appears after completing setup, click Create + at the top-right corner.

Only one Sendbird application can be integrated per app for your service regardless of the platform. All users within your Sendbird application can communicate with each other across all platforms. This means that your iOS, Android, and web client app users can all make and receive calls with one another without any further setup. It should be noted that all data is limited to the scope of a single application, and users in different Sendbird applications can't make and receive calls to each other.

Note: For application administrators, the Sendbird Dashboard provides call logs to keep track of all calls made on the application.


Step 2: Install Git Large File Storage

To use Sendbird Calls, you should first add our custom-built WebRTC framework to your project. Git LFS must be installed to use the WebRTC framework along with the SendBirdCalls framework.

  1. Run brew install git-lfs in your project directory.
  2. Refer to https://git-lfs.github.com.

Note: Make sure to install Git LFS before installing CocoaPods. Check the size of the WebRTC.framework in the YOUR_PROJECT_DIRECTORY/Pods/SendBirdWebRTC folder. The framework must be over 800 MB. If it is less than 800 MB, follow the steps in the Calls SDK’s Troubleshooting section.


Step 3: Install the Calls SDK with CocoaPods or Carthage

Installing the Calls SDK is simple if you’re familiar with using external libraries or SDKs in your project. You can install the Calls SDK using CocoaPods or Carthage.

CocoaPods

  1. Install CocoaPods into your project by running pod init in your project directory.
  2. Run the command, open Podfile.
  3. In the opened Podfile, include pod ‘SendBirdCalls’ to your configuration under your project target.
  4. Install the SendBirdCalls framework by running pod install in your project directory.

Carthage

You can also use Carthage to integrate the SendBirdCalls framework into your Xcode project.

  1. Install Carthage into your project by running brew install carthage in your project directory or choose another installation options.
  2. Create a Cartfile in the same directory where your .xcodeproj or .xcworkspace is.
  3. Add github “sendbird/sendbird-calls-ios” and github “sendbird/sendbird-webrtc-ios” dependencies to your Cartfile.
  4. Run carthage update.
  5. A Cartfile.resolved file and a Carthage directory will appear in the same directory where your .xcodeproj or .xcworkspace is.
  6. Drag the built .framework binaries from Carthage/Build/iOS into your application’s Xcode project.
  7. On your application targets’ Build Phases settings tab, click the + icon and choose New Run Script Phase. Create a Run Script in which you specify your shell (ex: /bin/sh), add the following contents to the script area below the shell: usr/local/bin/carthage copy-frameworks
  8. Add the paths to the frameworks you want to use under Input Files. For example:
Light Color Skin
Copy
$(SRCROOT)/Carthage/Build/iOS/SendBirdCalls.framework
Light Color Skin
Copy
$(SRCROOT)/Carthage/Build/iOS/WebRTC.framework
  1. Add the paths to the copied frameworks to the Output Files. For example:
Light Color Skin
Copy
$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/SendBirdCalls.framework
Light Color Skin
Copy
$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/WebRTC.framework
  1. For more information, refer to the Carthage’s guide.

Step 4: Add capabilities to your app

You can use the Calls SDK along with Callkit in your app. To use some app services, you need to add background modes and push notifications to your app.

  1. For your app to continue running in the background, your app must have Background Modes enabled in the Xcode Project > Signing & Capabilities pane. Select the Voice over IP option under the list of available modes.
  2. Enable Remote notifications in Xcode Project > Signing & Capabilities.
  3. For more information about VoIP push notification and PushKit, refer to Apple's CallKit and PushKit.

Step 5: Request permission to access cameras and microphones

Your iOS client app needs to display authorization messages to your users to grant the app access to camera and microphone.

  1. To access device microphones for audio call, include the NSMicrophoneUsageDescription key in your app’s Info.plist file.
  2. To access device cameras for video call, include the NSCameraUsageDescription in your app’s Info.plist file.