# Twilio Sync Client SDKs

Twilio provides client-side Sync SDKs for browser-based web applications as well as native iOS and Android applications.

## JavaScript SDK

The latest version of the JavaScript SDK for Sync is made available on Twilio's CDN. Find the latest release in the [Sync JavaScript Changelog](/docs/sync/javascript/changelog). For reference, the [JavaScript SDK client library](https://sdk.twilio.com/js/sync/releases/3.0.1/docs/index.html) can be used.

To include the SDK on your web page, simply add the following `<script>` tag:

```html
<script src="https://sdk.twilio.com/js/sync/releases/3.0.1/twilio-sync.min.js"></script>
```

The `Twilio.Sync` namespace will then be available in the window scope of your JavaScript application.

You'll need to provision a token to your application to get started. See our guide [Securing your Sync App](/docs/sync/identity-and-access-tokens) for more information on token management, or look at one of our [Quickstarts](/docs/sync/quickstart/js) to get started from a basic example.

### Supported browsers

We support the latest major versions of:

* Chrome
* Firefox
* Internet Explorer
* Microsoft Edge
* Safari

## Android SDK

Twilio Sync is also available from MavenCentral as separate artifacts for
[Kotlin](https://central.sonatype.com/artifact/com.twilio/sync-android-kt) and
[Java](https://central.sonatype.com/artifact/com.twilio/sync-android-java).

### Gradle

To install via Gradle, include the following in your Gradle build file:

```bash
allprojects {
  repositories {
    mavenCentral()
  }
}

dependencies {
  implementation 'com.twilio:sync-android-kt:4.0.0'

  // If you are using Java, use the following dependency instead
  // implementation 'com.twilio:sync-android-java:4.0.0'
}
```

## iOS SDK

The iOS SDK is available through the [CocoaPods](https://cocoapods.org) and [Swift Package Manager](https://swift.org/package-manager/) dependency managers, or by direct download.

> \[!WARNING]
>
> We do not currently support the Carthage dependency manager.

### CocoaPods

To install the SDK using CocoaPods, add the following to your Podfile, changing `MyTarget` to the name of your target:

```rb
use_frameworks!
platform :iOS, '13.0'

target 'MyTarget' do
  pod 'TwilioSyncClient', '~> 2.0'
end
```

### Swift Package Manager

To install the SDK with Swift Package Manager, add the following dependency to your project:

```bash
https://github.com/twilio/twilio-sync-ios
```

1. Open your project in Xcode.
2. Select **File > Add Packages...**
3. Enter `https://github.com/twilio/twilio-sync-ios` into the search field.
4. Make your versioning choice and click **Add Package**.

### Direct Download

We also offer the frameworks for direct download. There are several steps you'll need to complete to successfully add Sync to your project:

1. Download the Sync Client framework from the [Twilio CDN](https://sdk.twilio.com/ios/sync/releases/2.0.2/twilio-sync-ios-2.0.2.zip).
2. Download the Sync Client dependencies from Twilio CDN: [TwilioTwilscok](https://sdk.twilio.com/ios/twilsock/releases/2.0.1/twilio-twilsock-ios-2.0.1.zip), [TwilioStateMachine](https://sdk.twilio.com/ios/twilsock/releases/2.0.1/twilio-stateMachine-ios-2.0.1.zip), and [TwilioCommonLib](https://sdk.twilio.com/ios/twilsock/releases/2.0.1/twilio-commonLib-ios-2.0.1.zip)
3. Confirm the download's SHA-256:
   * TwilioSyncClient `d9969a26757b642b6aee86849e22f9c8cd1c764d2275178dc0816625ac8ab170`
   * TwilioTwilsock `05fe16e995c101c363f2cc39741841d2750ed30829022744b6164c2c0fe2589b`
   * TwilioStateMachine `5290a6d0209e8783d8d9d80cbe6a1cd1247db4bd079249c606c714f70ddc7ca5`
   * TwilioCommonLib `df90b90c6095c86233ca6a255423481e8610d84e674bfa0876e991bb95530f8d`
4. Expand the downloaded `.zip` files and locate the `.xcframework` file(s) inside the directories created.
5. Drag the `.xcframework` file(s) into your Xcode project, making sure they are dropped in the **Embedded Binaries** section of your project target's settings. Make sure you select **Copy items if needed** when prompted. If the framework file(s) do not appear under **Embedded Binaries** for your target, you will receive a `Reason: image not found` error during compilation.
6. Add `libc++.tbd` as a dependency to your target in the **Linked Frameworks** section of the build settings if it is not already there.
