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

# iOS SDK setup

> Install and initialize the OwnID iOS SDK, choose Core or SwiftUI, and prepare your app for native passkeys.

Use the OwnID iOS SDK to add passkey-first authentication and passkey enrollment to a native iOS app. Your app remains responsible for user records, sessions, and identity-provider integration.

## Requirements

* iOS 13 or later
* Swift 6
* Xcode 16 or later

<Note>
  The SDK supports iOS 13 and later, but platform passkeys require iOS 16 or later.
</Note>

## Choose an SDK product

<div style={{ display: "flex", gap: "8px", flexWrap: "wrap", alignItems: "center" }}>
  <a href="https://github.com/OwnID/ownid-ios-sdk/releases/latest" style={{ borderBottom: "none", display: "inline-flex", lineHeight: 0 }}>
    <span className="sr-only">Latest Core iOS SDK version</span>

    <img src="https://img.shields.io/github/v/release/OwnID/ownid-ios-sdk?label=Latest%20Core%20iOS%20SDK" alt="Core iOS SDK version badge" aria-hidden="true" style={{ margin: 0 }} />
  </a>

  <a href="https://github.com/OwnID/ownid-ios-sdk/releases/latest" style={{ borderBottom: "none", display: "inline-flex", lineHeight: 0 }}>
    <span className="sr-only">Latest SwiftUI iOS SDK version</span>

    <img src="https://img.shields.io/github/v/release/OwnID/ownid-ios-sdk?label=Latest%20SwiftUI%20iOS%20SDK" alt="SwiftUI iOS SDK version badge" aria-hidden="true" style={{ margin: 0 }} />
  </a>
</div>

| Product        | Use it for                                                                                                |
| -------------- | --------------------------------------------------------------------------------------------------------- |
| `OwnIDCore`    | SDK configuration, providers, Elite flow, Headless, Passkey Enrollment, WebBridge, and passkey operations |
| `OwnIDSwiftUI` | Boost flow widgets and SDK-provided SwiftUI components; depends on Core                                   |

## Install with Swift Package Manager

Add `https://github.com/OwnID/ownid-ios-sdk.git` in Xcode through **File > Add Package Dependencies**, or declare the package in `Package.swift`:

```swift theme={null}
dependencies: [
    .package(url: "https://github.com/OwnID/ownid-ios-sdk.git", from: "<latest-version>")
]
```

Then add the product used by your app target.

<Tabs>
  <Tab title="Core">
    ```swift theme={null}
    .product(name: "OwnIDCore", package: "OwnID")
    ```
  </Tab>

  <Tab title="SwiftUI">
    ```swift theme={null}
    .product(name: "OwnIDSwiftUI", package: "OwnID")
    ```

    `OwnIDSwiftUI` already includes `OwnIDCore`. Add Core separately only when the target imports both modules directly.
  </Tab>
</Tabs>

For a CocoaPods-only app, see the [CocoaPods compatibility fallback](https://github.com/OwnID/ownid-ios-sdk/blob/master/README.md#cocoapods-compatibility-fallback).

## Initialize OwnID

Copy the application ID from the OwnID Console and initialize the SDK once during app startup.

```swift theme={null}
import OwnIDCore

OwnID.initialize { configuration in
    configuration.appID = "<OWNID_APP_ID>"
}
```

`appID` is the only required configuration value. For optional settings and alternative initialization methods, see the [full configuration guide](https://github.com/OwnID/ownid-ios-sdk/blob/master/docs/setup/configuration.md).

## Enable passkeys

<Card title="Complete passkey setup" icon="key" href="/mobile-sdks/setup/passkeys" horizontal>
  Add the Associated Domains entitlement and associate your iOS app with the relying party domain before starting a passkey flow.
</Card>

## Choose an integration

<Columns cols={3}>
  <Card title="Boost flow" icon="bolt" href="/mobile-sdks/boost">
    Add OwnID widgets to an existing native login or registration screen.
  </Card>

  <Card title="Elite flow" icon="sparkles" href="/mobile-sdks/elite">
    Run the OwnID-hosted authentication experience in an SDK-managed WebView.
  </Card>

  <Card title="Passkey enrollment" icon="user-plus" href="/mobile-sdks/passkey-enrollment">
    Add a passkey for a user who is already signed in.
  </Card>
</Columns>

## Continue with the iOS guides

<Columns cols={2}>
  <Card title="iOS documentation" icon="github" iconType="brands" href="https://github.com/OwnID/ownid-ios-sdk/blob/master/docs/README.md">
    Explore configuration, providers, flows, customization, examples, and troubleshooting.
  </Card>

  <Card title="Migrate from v3 to v4" icon="arrow-up-right-dots" href="https://github.com/OwnID/ownid-ios-sdk/blob/master/docs/upgrade/v3-to-v4.md">
    Update an existing iOS SDK version 3 integration.
  </Card>
</Columns>
