Setup

An in-depth guide on how to configure CometChat.

Get your Application Keys

Signup for CometChat and then:

  1. Create a new app on the dashboard

🚧

Important

Please follow the key concepts guide to create V3 apps.

  1. Head over to the API Keys section and note the Auth Key, App ID & Region

👍

Minimum Requirement

  1. Xcode 12 (or Higher)
  2. iOS 11 or higher

or

*Planning to migrate existing V2 app to V3

Please follow the migration steps given in the link below
Migrate App to V3


Add the CometChat Dependency

CocoaPods

We recommend using CocoaPods, as they are the most advanced way of managing iOS project dependencies. Open a terminal window, move to your project directory, and then create a Podfile by running the following command.

🚧

Note:

  1. CometChatPro SDK supports installation through Cocoapods only. Currently, we are supporting Xcode 11.4 and higher.

  2. CometChatPro SDK includes video calling components. We suggest you run on physical devices to avoid errors.

$ pod init

Add the following lines to the Podfile.

platform :ios, '11.0'
use_frameworks!

target 'MyApp' do
  pod 'CometChatPro', '3.0.3'
end

📘

Important

v3.0.2+ onwards, Voice & Video Calling functionality has been moved to a separate framework. In case you do not plan to use the calling feature, please add the Calling framework pod 'CometChatCalls', '2.1.1' in your app Podfile.

And then install the CometChatPro framework through CocoaPods.

$ pod install

Always get the latest version of CometChatPro by command

$ pod update CometChatPro

Request Authorization

Prepare your app for this requirement by providing justification strings. The justification string is a localizable message that you add to your app's Info.plist file to tell the user why your app needs access to the user's photo library, Camera, Microphone. Then, App prompts the user to grant permission for access, the alert displays the justification string you provided, in the language of the locale selected on the user's device. You can do this as follows:

<key>NSAppTransportSecurity</key>
  <dict>
      <key>NSAllowsArbitraryLoads</key>
      <true />
  </dict>
<key>NSCameraUsageDescription</key>
    <string>$(PRODUCT_NAME) need access to the camera in order to update your avatar</string>
<key>NSPhotoLibraryUsageDescription</key>
    <string>$(PRODUCT_NAME) need access to the Photo Library in order to send Media Messages</string>
<key>NSMicrophoneUsageDescription</key>
    <string>$(PRODUCT_NAME) need access to the Microphone in order to connect Audio/Video call </string>

Follow these steps for the complete remaining integration

NEXT STEPS


Publishing to App Store

To publish your App on App Store please follow this guide


What’s Next
Did this page help you?