Adding the Chat SDK
You can add the Chat SDK to your project using one of the following methods:
Adding the SDK with SPM
The Swift Package Manager is a tool for managing the distribution of Swift code. It’s integrated with the Swift build system to automate the process of downloading, compiling, and linking dependencies.
To add the Chat SDK to your project as a dependency:
Follow the Apple documentation on how to add the package to your project.
Paste the Chat SDK package URL, https://github.com/zendesk/chat_sdk_ios, into the Choose repository package search bar.
Use version-based Package Requirements, and set the value to the latest version of the SDK.
Adding the SDK with CocoaPods
CocoaPods is a dependency manager that lets you add third-party frameworks and libraries to projects. For installation instructions, see Install CocoaPods.
If not already done, create a Podfile for your project as follows:
In Terminal, navigate to the top-level folder of your project (the one with the xcodeproj file).
Create a Podfile using the
ZendeskChatSDKpod to your Podfile.
target 'My Sample App' do pod 'ZendeskChatSDK' end
If you decide to build your own UI, then you will need to add the ZendeskChatProvidersSDK pod instead.
target 'My Sample App' do pod 'ZendeskChatProvidersSDK' end
Note: If you're using Objective-C, you'll need to include
Because your project now contains a dependency managed by CocoaPods, you must open the project in Xcode by double-clicking the .xcworkspace file, not .xcodeproj.
For more information, see Using CocoaPods on cocoapods.org.
Adding the SDK with Carthage
Carthage is a third party dependency manager for iOS applications. For installation and usage instructions, see Installing Carthage in the Carthage readme on Github.
Add the following lines to your Cartfile to import the necessary frameworks for working with the UI we provide:
# The main Chat SDK frameworks binary "https://zendesk.jfrog.io/zendesk/libs-releases-local/ios/zendesk/ChatSDK/ChatSDK.json" == 2.10.0 binary "https://zendesk.jfrog.io/zendesk/libs-releases-local/ios/zendesk/ChatProvidersSDK/ChatProvidersSDK.json" == 2.10.0 # Shared Zendesk UI frameworks binary "https://zendesk.jfrog.io/zendesk/libs-releases-local/ios/zendesk/MessagingSDK/MessagingSDK.json" == 3.8.1 binary "https://zendesk.jfrog.io/zendesk/libs-releases-local/ios/zendesk/MessagingAPI/MessagingAPI.json" == 3.8.1 binary "https://zendesk.jfrog.io/zendesk/libs-releases-local/ios/zendesk/CommonUISDK/CommonUISDK.json" == 6.1.0 binary "https://zendesk.jfrog.io/zendesk/libs-releases-local/ios/zendesk/SDKConfigurations/SDKConfigurations.json" == 1.1.7
Note: If you decide to build your own UI, you will only need to add the ChatProvidersSDK to your Cartfile.
binary "https://zendesk.jfrog.io/zendesk/libs-releases-local/ios/zendesk/ChatProvidersSDK/ChatProvidersSDK.json" == 2.10.0
On your target's General tab, drag each of the following frameworks from the Carthage/Build/iOS folder to the Frameworks, Libraries and Embedded Content section and embed the frameworks by selecting Embed & Sign option.
Note: Your app's build targets must point the
FRAMEWORK_SEARCH_PATHSsetting to the
(Fat framework only) Create a new "Run Scripts Phase" in your app target's "Build Phases".
This script should be the last step in your project's "Build Phases".
Paste the following snippet into the script text field:
This step is required to work around an App store submission bug when archiving universal binaries. Please ensure your project's
VALID_ARCHSbuild setting does not contain
x86_64for release configuration.
Adding the SDK manually
Download the following ZIP files:
# Chat provider layer framework https://zendesk.jfrog.io/zendesk/libs-releases-local/ios/zendesk/5.3/ChatProvidersSDK/2.10.0/ChatProvidersSDK.zip # Chat UI layer framework https://zendesk.jfrog.io/zendesk/libs-releases-local/ios/zendesk/5.3/ChatSDK/2.10.0/ChatSDK.zip # Shared Zendesk UI frameworks https://zendesk.jfrog.io/zendesk/libs-releases-local/ios/zendesk/5.3/MessagingSDK/3.8.1/MessagingSDK.zip https://zendesk.jfrog.io/zendesk/libs-releases-local/ios/zendesk/5.3/MessagingAPI/3.8.1/MessagingAPI.zip https://zendesk.jfrog.io/zendesk/libs-releases-local/ios/zendesk/5.3/CommonUISDK/6.1.0/CommonUISDK.zip https://zendesk.jfrog.io/zendesk/libs-releases-local/ios/zendesk/5.3/SDKConfigurations/1.1.7/SDKConfigurations.zip
Note: If you decide to build your own UI, you will only need to add the ChatProvidersSDK framework.
You can also batch download the ZIP files by copying the above list, pasting it into a text file and running the following command:
wget -i _the_name_of_the_file_you_created_
Note: You can install the
wgettool with Homebrew using
brew install wget.
In Xcode, select your project in Project navigator:
In Finder, navigate to where you extracted the SDKs.
Ensure a Frameworks directory exists in the top level of your project directory. Create this directory if it does not exist.
Copy the following items into the Frameworks folder in your project:
* **ChatSDK.xcframework** * **ChatProvidersSDK.xcframework** * **CommonUISDK.xcframework** * **SDKConfigurations.xcframework** * **MessagingSDK.xcframework** * **MessagingAPI.xcframework**
Drag the frameworks into the Frameworks, Libraries and Embedded Content section of your project and embed the frameworks by selecting Embed & Sign option.
In Build Settings set the CLANG_ENABLE_MODULES field to YES.