> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ada.cx/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ada.cx/_mcp/server.

# iOS SDK

The Ada iOS SDK (`AdaMessaging`) is a framework that you can use to [embed your Ada AI Agent in your iOS app](/messaging/ios/getting-started). It provides settings, actions, and events that help you customize the behavior of your AI Agent. You can do things like:

* Present the chat UI modally, on your navigation stack, or injected into an existing view
* Authenticate signed-in end users with a backend-minted [identity token](/messaging/ios/getting-started#authenticate-end-users-with-an-identity-token)
* Run [headless](/messaging/ios/getting-started#run-headless-and-build-your-own-ui), with no Ada UI, and build your own conversation UI from native components
* Send messages programmatically with `sendMessage` and receive conversation events through `eventCallbacks`
* Pass public and sensitive metadata using `MetaFields.Builder`
* Programmatically set the AI Agent language
* Store device tokens with the end user's sensitive metadata. To send push notifications, use webhooks and your push provider. See [Push notifications](/docs/channels/messaging/push-notifications).

> **Note**
>
> **From version 1.3.0, session state persists across an app force-quit.** The persisted session includes active live agent handoff context. When an end user signs out of your app, clear the session. See [Session persistence](/messaging/ios/sdk-api-reference#session-persistence) for the storage model and the sign-out requirement.

> **Check**
>
> The [iOS SDK reference](/messaging/ios/sdk-api-reference) covers all of the settings, events, and actions available to developers of iOS apps.

## Migrating from AdaEmbedFramework

The SDK is a drop-in replacement for the existing Chat SDK (`AdaEmbedFramework`). `AdaWebHost` remains the main public class, and by default the SDK loads the same web runtime the Chat SDK loads, so migrating apps see no behavior change. See [Upgrade from the existing iOS SDK](/messaging/ios/getting-started#upgrade-from-the-existing-ios-sdk).