---
schema_version: "1"
id: a944394484695e5c15106c6e85a10a32ef40cddeb91689dff4aba29fa2321680
title: Install the iOS SDK
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/service-cloud/messaging-in-app/guides/ios-installation.md
canonical_url: https://developer.salesforce.com/docs/service/messaging-in-app/guide/ios-installation.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: f1dfad8f59b6df8589de7715a2f6ff6f829850930ae22e288f726c341a470591
products:
  - Enhanced In-App Chat
  - Service Cloud Developer Content
---
# Install the iOS SDK

To get started, install the SDK and then update some of the properties in your project.

## Install the Frameworks

You can install the SDK using Swift Package Manager, CocoaPods, or you can download and install the frameworks manually.

### OPTION 1: Install with Swift Package Manager

To add the frameworks using Swift Package Manager, add a package dependency to your app using this public URL: `https://github.com/Salesforce-Async-Messaging/Swift-Package-InAppMessaging`.

To learn more about package dependencies, see [Adding Package Dependencies to Your App](https://developer.apple.com/documentation/swift_packages/adding_package_dependencies_to_your_app) in Apple's Developer Documentation.

### OPTION 2: Install with CocoaPods

If you haven't already done so, install the [CocoaPods](https://cocoapods.org/) gem, and initialize the CocoaPods main repository.

```
sudo gem install cocoapods
pod setup
```

If you already have CocoaPods installed, update your pods to the latest version.

```
pod update
```

To create a Podfile, change to the root directory of your application project. Then create or edit the file named Podfile.

```
platform :ios, '14.0'

target 'MyApp' do
  use_frameworks!

  # Pod for Enhanced In-App Chat UI and Core SDK
  pod 'Messaging-InApp-UI'
end
```

**note:** If you plan to use the [Core SDK](https://developer.salesforce.com/docs/service/messaging-in-app/guide/ios-core-sdk.md) (and not the UI SDK), use the following pod instead of `Messaging-InApp-UI`: `Messaging-InApp-Core`.

Run the CocoaPods installer. If you’re adding a new pod to your project, use this command:

```
pod install
```

If you’re updating your pod to a newer version, use this command:

```
pod update
```

Open the `.xcworkspace` file that CocoaPods generated to use the SDK in your app.

### OPTION 3: Install Frameworks Manually

To install the XCFramework files manually, get the framework files (`SMIClientUI`, `SMIClientCore`) from [the release notes page](https://github.com/Salesforce-Async-Messaging/messaging-in-app-ios/releases) and embed them into your project. If you aren't using our UI SDK, you don’t need to embed the `SMIClientUI` framework file.

## Update Your Info Properties

Several features of the SDK require you to add values to your project’s information property list (`Info.plist`).

### Camera and Photos

Add descriptions for why the app wants to access the device's camera and photo library. This functionality is necessary when a customer attempts to send an image attachment to a rep.

Add string values for "Privacy - Camera Usage Description" (`NSCameraUsageDescription`) and "Privacy - Photo Library Usage Description" (`NSPhotoLibraryUsageDescription`) in your project's Info properties (`Info.plist` file).

For example:

```
<key>NSCameraUsageDescription</key>
<string>Used when sending an image to a rep.</string>

<key>NSPhotoLibraryUsageDescription</key>
<string>Used when sending an image to a rep.</string>
```

### Access to Files

Allow the app to access files on the device so that a customer can share a file with the rep. Set "Supports opening documents in place" (`LSSupportsOpeningDocumentsInPlace`) and "Application supports iTunes file sharing" (`UIFileSharingEnabled`) to "YES".

```
​​<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>
<key>UIFileSharingEnabled</key>
<true/>
```

## Notifications

If you want to take advantage of push notifications for messaging events, make sure that your app supports the "Push Notifications" capability from your project's Capabilities settings.
