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

# Installation & Setup

> Mobile SDK installation requirements, setup process, and configuration questions

<Accordion title="How Do I Install the Mobile SDK in My iOS Project?">
  Follow these steps to install the SDK:

  1. Download the `SukiAmbientCore.framework` file from Suki
  2. Drag the framework into your Xcode project navigator
  3. Select "Copy items if needed" when prompted
  4. In your target settings, set the framework to "Embed & Sign"
  5. Add `NSMicrophoneUsageDescription` to your Info.plist

  You must add the NSMicrophoneUsageDescription key to your Info.plist file with a user-friendly explanation.
</Accordion>

<Accordion title="What Should I Put in the NSMicrophoneUsageDescription?">
  You must provide a clear explanation of why your app needs microphone access. Here's a recommended description:

  Provide a clear, user-friendly explanation that describes why your app needs microphone access for clinical documentation purposes.

  Apple requires this description to be user-friendly and explain the specific use case for microphone access.
</Accordion>

<Accordion title="How Do I Configure the SDK After Installation?">
  Configuration involves three main steps:

  Configuration involves three main steps: importing the SukiAmbientCore framework, setting the environment (stage or prod), and initializing the SDK with partner information, session delegate, and token provider.
</Accordion>

<Accordion title="What Environments Are Available for Testing?">
  The Mobile SDK supports multiple environments:

  * **`.stage`**: For development and testing purposes
  * **`.prod`**: For production use

  Always start with the `.stage` environment during development and testing before moving to production.
</Accordion>

<Accordion title="Do I Need to Implement TokenProvider Protocol?">
  Yes, you must implement the `TokenProvider` protocol to provide authentication tokens to the SDK. The SDK will request tokens through this protocol when needed.

  You must implement the TokenProvider protocol to provide authentication tokens to the SDK. The SDK will request tokens through this protocol when needed for API authentication.
</Accordion>

<Accordion title="Can I Test the SDK without a Backend Integration?">
  The Mobile SDK requires a valid authentication token and partner configuration to function. You'll need to work with Suki's partnership team to get the necessary credentials for testing, even in the staging environment.
</Accordion>

<Accordion title="What Happens If Initialization Fails?">
  If initialization fails, the SDK will throw a `SukiAmbientCoreError`. Common causes include:

  * Invalid partner information
  * Network connectivity issues
  * Authentication token problems
  * Missing required permissions

  Always wrap initialization in a do-catch block to handle these errors gracefully.
</Accordion>

<Accordion title="Should I Initialize the SDK on App Launch or When Needed?">
  It's recommended to initialize the SDK after user authentication is complete. Do this in your app delegate's `didFinishLaunchingWithOptions` if user sessions persist, or after successful login if they don't.
</Accordion>
