# Installation

You can integrate OnsideKit using [Swift Package Manager](#swift-package-manager), [CocoaPods](#cocoapods), or by [adding the framework manually](#manual-installation).

## Requirements

* **iOS 16.0** or later as your deployment target
* **Xcode 26** or later

## Choose a product

OnsideKit is distributed as two separate products. Pick the one that fits your app:

<table><thead><tr><th width="200">Product</th><th>When to use it</th></tr></thead><tbody><tr><td><strong>OnsideKit</strong></td><td>The full SDK, including <strong>Apple Pay</strong>. Use this unless you have a specific reason not to.</td></tr><tr><td><strong>OnsideKitLite</strong></td><td>The same SDK <strong>without the PassKit dependency</strong> (no Apple Pay), for apps that cannot include PassKit.</td></tr></tbody></table>

{% hint style="info" %}
Both products are identical apart from Apple Pay support. See [OnsideKit vs OnsideKitLite](/sdk/advanced-and-tooling/onsidekit-lite.md) for the details. Everywhere below, swap `OnsideKit` for `OnsideKitLite` if you need the PassKit-free build.
{% endhint %}

## Framework installation

{% tabs %}
{% tab title="Swift Package Manager" %}
[Swift Package Manager](https://www.swift.org/documentation/package-manager/) is Apple's official dependency manager, integrated directly into Xcode.

1. In Xcode, select your project in the **Project Navigator**, then open the **Package Dependencies** tab for the project.

<figure><img src="/files/GNtzkMRrXB27hkaCJm4q" alt=""><figcaption></figcaption></figure>

2. Click the **+** button to add a new package.
3. In the search field, paste the SDK's repository URL:

   ```
   https://github.com/onside-io/OnsideKit-iOS
   ```
4. For the **Dependency Rule**, we recommend **"Up to Next Major Version"** to receive updates and bug fixes without breaking changes. Click **Add Package**.

<figure><img src="/files/S1Ft7Jjwz5HAQBchrjDX" alt=""><figcaption></figcaption></figure>

5. Choose the product to add to your app's target — **OnsideKit** (with Apple Pay) or **OnsideKitLite** — and click **Add Package**.

The framework now appears in the Project Navigator and is linked to your target.
{% endtab %}

{% tab title="CocoaPods" %}
[CocoaPods](https://cocoapods.org/) is a popular dependency manager for Swift and Objective-C projects.

1. If you don't have CocoaPods installed, run:

   ```bash
   sudo gem install cocoapods
   ```
2. If your project has no `Podfile`, create one:

   ```bash
   pod init
   ```
3. Add OnsideKit to your app's target in the `Podfile`. Use `OnsideKit` for the full SDK, or `OnsideKitLite` for the PassKit-free build:

   ```ruby
   # Podfile
   platform :ios, '16.0'
   use_frameworks!

   target 'YourAppName' do
     pod 'OnsideKit', :git => 'https://github.com/onside-io/OnsideKit-iOS.git'
     # or, without Apple Pay / PassKit:
     # pod 'OnsideKitLite', :git => 'https://github.com/onside-io/OnsideKit-iOS.git'
   end
   ```
4. Install and open the generated workspace:

   ```bash
   pod install
   ```
5. Open the newly created `.xcworkspace` file and start using the SDK.
   {% endtab %}

{% tab title="Manual" %}
If you prefer not to use a dependency manager, add the framework manually.

1. Download the latest **OnsideKit.xcframework.zip** (or **OnsideKitLite.xcframework.zip**) from the [Releases page](https://github.com/onside-io/OnsideKit-iOS/releases).
2. Unzip it to get the `OnsideKit.xcframework` bundle.
3. In Xcode, select your app's target and open the **General** tab.
4. Find **Frameworks, Libraries, and Embedded Content** and drag the `OnsideKit.xcframework` into it.
5. Set **Embed & Sign** for the framework — this bundles and signs it with your app.

<figure><img src="/files/yrVpYYThq4ANYxVztXZd" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

You can now `import OnsideKit` (or `import OnsideKitLite`) in your source files.

## Next step

Before calling any OnsideKit API you must initialize the SDK and configure your URL scheme. Continue with [**Initializing the SDK**](/sdk/getting-started/initialization.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.onside.io/sdk/getting-started/installation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
