> ## Documentation Index
> Fetch the complete documentation index at: https://docs.clickterm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Add the ClickTerm iOS SDK to your app from the ClickTerm CDN.

The ClickTerm iOS SDK is available as a prebuilt XCFramework from the ClickTerm CDN. You can add it to your app without access to the SDK source repository.

<Note>
  **Latest SDK versions:** Web `2.5.0` · Android `2.4.0` · iOS `1.3.0` · React Native `1.2.0` — [View changelog](/dev/resources/changelog)
</Note>

## Requirements

* iOS 15.0+
* Swift 5.9+
* Xcode 15.0+

## Choose an installation method

<Tabs>
  <Tab title="Swift Package Manager">
    Use a small local Swift package to bring the CDN-hosted XCFramework into your app.

    Create a folder for the package, add a `Package.swift` file, and paste:

    ```swift Package.swift theme={null}
    // swift-tools-version: 5.9
    import PackageDescription

    let package = Package(
        name: "ClicktermSDKBinary",
        platforms: [
            .iOS(.v15)
        ],
        products: [
            .library(
                name: "ClicktermSDK",
                targets: ["ClicktermSDK"]
            )
        ],
        targets: [
            .binaryTarget(
                name: "ClicktermSDK",
                url: "https://cdn.clickterm.com/sdk/ios/release/1.2.0/ClicktermSDK.xcframework.zip",
                checksum: "80caaf89e19da5beafa8d24f4376a505f6fc0d247dc5c35900e2a01fd5cfdafd"
            )
        ]
    )
    ```

    In Xcode, choose **File → Add Package Dependencies… → Add Local…**, select the package folder, then add the `ClicktermSDK` product to your app target.

    <Note>
      The checksum belongs to this exact SDK version. When upgrading, update the
      version in the URL and use the checksum from that version's
      [`manifest.json`](https://cdn.clickterm.com/sdk/ios/release/1.2.0/manifest.json).
    </Note>
  </Tab>

  <Tab title="Manual XCFramework">
    Download the versioned SDK archive:

    <Card title="Download ClicktermSDK 1.2.0" icon="download" href="https://cdn.clickterm.com/sdk/ios/release/1.2.0/ClicktermSDK.xcframework.zip">
      Prebuilt XCFramework for iOS devices and simulators.
    </Card>

    Verify the download before unzipping it:

    ```sh theme={null}
    swift package compute-checksum ClicktermSDK.xcframework.zip
    ```

    For version `1.2.0`, the result must be:

    ```text theme={null}
    80caaf89e19da5beafa8d24f4376a505f6fc0d247dc5c35900e2a01fd5cfdafd
    ```

    Unzip the archive, then:

    1. Drag `ClicktermSDK.xcframework` into your Xcode project, select **Copy items if needed**, and add it to your app target.
    2. Select your app target and open **General → Frameworks, Libraries, and Embedded Content**.
    3. Set `ClicktermSDK.xcframework` to **Embed & Sign**.
  </Tab>
</Tabs>

## Initialize the SDK

Import and initialize ClickTerm once when your app starts:

```swift theme={null}
import ClicktermSDK

ClicktermClient.initialize(appId: "YOUR_CLICKTERM_APP_ID")
```

Get your App ID from the [Integrations page](https://app.clickterm.com/integrations) in the ClickTerm Dashboard.

<Warning>
  Never expose your **App Key** in client-side code. The App Key is used
  only for backend verification calls. The client SDK uses only the **App ID**.
  Store the App Key safely — it won't display again after creation, but can be
  regenerated. Regenerating the key requires updating your backend configuration.
</Warning>

## Next steps

<CardGroup cols={2}>
  <Card title="iOS quickstart" icon="rocket" iconType="light" href="/dev/quickstart-ios">
    Display and verify your first clickwrap.
  </Card>

  <Card title="ClicktermClient" icon="gear" iconType="light" href="/dev/sdk/ios/clickterm-client">
    Initialize and manage the SDK.
  </Card>

  <Card title="ClicktermDialog" icon="window-maximize" iconType="light" href="/dev/sdk/ios/clickterm-dialog">
    Display clickwrap agreements in your app.
  </Card>
</CardGroup>
