# Get started with the Contact Center SDK for iOS The Contact Center SDK for iOS lets users engage with agents directly through video and chat without leaving your app. ## Requirements - A physical 64-bit iOS device (iPhone or iPad) with iOS 13.0+ - A Contact Center license and an [entry ID](https://support.zoom.us/hc/en-us/articles/4470447059597) (used to start a video or chat flow). - Since the Contact Center SDK is built on our Video SDK, your Contact Center SDK needs to be at least version **1.12.0** and will need to be updated at least every nine months. > Bitcode is not supported. > As of version 1.4.0, Contact Center SDK for iOS does not support 32-bit devices. ## Download Download the iOS SDK from the Marketplace. 1. Log into [Marketplace](https://marketplace.zoom.us/). 2. Create a **Contact Center SDK** app type. 3. Download the iOS SDK. ![Download the iOS SDK](/img/cc-sdk-ios-download.png) ## Install Drag these files and folders into your project. - `ZoomCCSDK.framework` - `ZoomVideoSDK.framework` - `ZoomCCSDKResources.bundle` - `CptShare.xcframework` - `ZoomVideoSDKScreenShare.xcframework` (Optional. Add if you want to offer mobile screen sharing.) - `zm_annoter_dynamic.xcframework` (Optional. Add if you want to support annotation functions during screen sharing.) ## Set up Follow these steps to set up the project. - [Requirements](#requirements) - [Download](#download) - [Install](#install) - [Set up](#set-up) - [Import the head file](#import-the-head-file) - [Set up the Contact Center SDK context](#set-up-the-contact-center-sdk-context) - [Use background modes in meetings](#use-background-modes-in-meetings) ### Import the head file ```objectivec #import ``` ```objectivec #import // Prepare accounts and variables #define APP_GROUPID @"<#Your app group id#>" #define APP_DEVICE_SHARE_BUNDLE_ID @"<#Your app share extension bundle id#>" #define APP_CHAT_ENTRY_ID @"<#Your app chat entry id#>" #define APP_VIDEO_ENTRY_ID @"<#Your app video entry id#>" #define APP_USR_NAME @"<#Your app user name#>" ``` ```swift let APP_GROUPID = "[#Your App group id#]" let APP_DEVICE_SHARE_BUNDLE_ID = "[#Your App share screen extension bundle id#]" let APP_CHAT_ENTRY_ID = "[#Your App chat entry id#]" let APP_VIDEO_ENTRY_ID = "[#Your App video entry id#]" let APP_USER_NAME = "[#Your App user name#]" ``` ### Set up the Contact Center SDK context ```objectivec /// set up the ZoomCCSDK context - (void)configCCSDKContext { ZoomCCContext *userContext = [[ZoomCCContext alloc] init]; userContext.cacheFolder = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; userContext.appGroupID = APP_GROUPID; userContext.deviceShareBundleID = APP_DEVICE_SHARE_BUNDLE_ID; userContext.userName = APP_USR_NAME; // This is the default domain type. If user's account entryId is registered in the Europe cluster, set the domainType should be set to ZoomCCSDKDomainType_EU01. userContext.domainType = ZoomCCSDKDomainType_US01; [[ZoomCCInterface sharedInstance] setContext:userContext]; } ``` ```swift /// set up the ZoomCCSDK context func configCCSDKContext() { let userContext = ZoomCCContext.init() userContext.cacheFolder = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first! userContext.appGroupID = APP_GROUPID userContext.deviceShareBundleID = APP_DEVICE_SHARE_BUNDLE_ID userContext.userName = APP_USER_NAME // This is the default domain type. If user's account entryId is registered in the Europe cluster, set the domainType to ZoomCCSDKDomainType_EU01. userContext.domainType = .US01 ZoomCCInterface.sharedInstance().context = userContext } ``` ## Use background modes in meetings If **Background Modes** is added and the **Audio, AirPlay, and Picture in Picture** option is on, users can stay in meetings when the app goes to the background or the iOS device exits to the lock screen. 1. In Xcode, open your project and go to **Targets**, then go to the **Signing Capabilities** tab. 2. Press the **Add Capability** button. Under Background Modes, check the options **Audio, AirPlay, and Picture in Picture** and **Voice over IP**.