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

# How Do I...

> Quick answers to the most common Nativeline questions

# How Do I...

Your quick reference for common actions. Find what you need, get the answer, and keep building.

***

## Toolkit / # Commands

<AccordionGroup>
  <Accordion title="How do I add a custom font to my app?" icon="font">
    Type **#font** in the chat input. A file picker opens — select your TTF or OTF file. Describe how to use it: "Use this font for all headings."

    See [#font documentation](/toolkit/font) for details.
  </Accordion>

  <Accordion title="How do I add a custom image?" icon="image">
    Type **#image** in the chat input. Select your image file (PNG, JPEG, SVG, etc.). Describe what it's for: "Use this as the app's splash background."

    Note: **#image** adds the file to your app bundle. To show the AI a design reference, drag-and-drop images directly into the chat instead.

    See [#image documentation](/toolkit/image) for details.
  </Accordion>

  <Accordion title="How do I add a custom color?" icon="palette">
    Type **#color** in the chat input. A color picker opens (not a file picker). Pick your color and name it: "Name this 'BrandBlue' and use it for all buttons."

    See [#color documentation](/toolkit/color) for details.
  </Accordion>

  <Accordion title="How do I add a sound effect?" icon="volume-high">
    Type **#sound** in the chat input. Select your audio file (MP3, WAV, AIFF). Describe when to play it: "Play this sound when a notification arrives."

    See [#sound documentation](/toolkit/sound) for details.
  </Accordion>

  <Accordion title="How do I add a Lottie animation?" icon="sparkles">
    Type **#lottie** in the chat input. Select your Lottie JSON file. Describe where to show it: "Use this as a loading spinner."

    Nativeline automatically adds the Lottie package to your project.

    See [#lottie documentation](/toolkit/lottie) for details.
  </Accordion>

  <Accordion title="How do I import a 3D model?" icon="cube">
    Type **#3d** in the chat input. Select your USDZ or Reality file. Describe how to use it: "Show this model in an AR view."

    See [#3d documentation](/toolkit/3d) for details.
  </Accordion>

  <Accordion title="How do I import data from a JSON or CSV file?" icon="file-lines">
    Type **#data** in the chat input. Select your JSON or CSV file. Describe what it's for: "This is a list of countries, use it for the location picker."

    See [#data documentation](/toolkit/data) for details.
  </Accordion>

  <Accordion title="How do I add a video to my app?" icon="video">
    Type **#video** in the chat input. Select your video file (MOV, MP4). Describe where to show it: "Play this video on the onboarding screen."

    See [#video documentation](/toolkit/video) for details.
  </Accordion>
</AccordionGroup>

***

## AI Modes

<AccordionGroup>
  <Accordion title="How do I change the AI mode?" icon="wand-magic-sparkles">
    Click the AI mode selector in the chat input area. Choose from:

    * **Quick** — Fast & efficient, lowest cost
    * **Enhanced** — Best designs, the default
    * **Max** — Deep reasoning for complex logic

    You can also select the mode on the Home Page before starting a project.

    See [AI Modes](/features/ai-modes) for details.
  </Accordion>

  <Accordion title="Which AI mode should I use?" icon="circle-question">
    **Enhanced** is the default and recommended for most projects. It produces the best designs and makes fewer mistakes.

    Use **Quick** for rapid iteration and exploring ideas. Use **Max** for complex logic or debugging difficult issues.

    See [AI Modes](/features/ai-modes) for a detailed comparison.
  </Accordion>
</AccordionGroup>

***

## Mac Apps

<AccordionGroup>
  <Accordion title="How do I build a Mac app?" icon="laptop">
    On the Home Page, select **Mac** from the platform selector before creating your project. Describe your app and go through the wizard as usual.

    Mac apps have native macOS patterns: menu bars, keyboard shortcuts, and window management.

    See [Building for Mac](/guides/multi-platform) for details.
  </Accordion>

  <Accordion title="How do I export a Mac app as DMG?" icon="hard-drive">
    Go to **Settings → Deploy** and select **DMG Export**. Nativeline will archive, sign, create a DMG, and optionally notarize your app.

    Requires an Apple Developer account and App Store Connect API Key.

    See [DMG Export](/publishing/dmg-export) for the full guide.
  </Accordion>

  <Accordion title="How do I test a Mac app?" icon="display">
    Mac apps run natively in a window on your Mac — no simulator needed. After a successful build, your app opens in its own window.

    The chat interface takes the full width when building Mac apps since there's no embedded simulator.
  </Accordion>
</AccordionGroup>

***

## Version History

<AccordionGroup>
  <Accordion title="How do I restore a previous version?" icon="clock-rotate-left">
    **Pro plan required**

    Open Version History from the Settings tab. Browse the timeline of changes, select a version, and click Restore.

    See [Version History](/features/version-history) for details.
  </Accordion>

  <Accordion title="How do I see what changed?" icon="code-compare">
    **Pro plan required**

    Version History shows a timeline grouped by day. Each entry shows what files were modified. Select an entry to see the changes.
  </Accordion>
</AccordionGroup>

***

## Plans & Tasks

<AccordionGroup>
  <Accordion title="How do I clear a plan?" icon="broom">
    Type `/planclear` in the chat.

    This clears the current plan and lets you start fresh. Your code remains unchanged — only the plan is cleared.
  </Accordion>

  <Accordion title="How do I resume a plan?" icon="play">
    Just say "continue" or "keep going" in the chat.

    The AI remembers where it left off and picks up from there.
  </Accordion>

  <Accordion title="How do I start completely fresh?" icon="refresh">
    1. Type `/planclear` to clear the current plan
    2. Then describe what you want to do next

    Your code stays intact, but the AI approaches your new request without being influenced by the old plan.
  </Accordion>

  <Accordion title="How do I see what the AI is doing?" icon="eye">
    Watch the tool cards in the chat interface.

    The AI shows files being created and edited in real-time. You can also use `/plan` to check the current plan status.
  </Accordion>

  <Accordion title="How do I stop the AI mid-task?" icon="stop">
    Click the **Stop** button in the chat interface, or press **Escape**.

    The AI will stop after completing its current action. Any code written will remain.
  </Accordion>

  <Accordion title="How do I give feedback on what the AI built?" icon="comment">
    Just tell it what's wrong or what you'd like changed:

    * "That's not quite right, I wanted..."
    * "Change the color to blue instead"
    * "Make it bigger"
    * "Undo that and try a different approach"
  </Accordion>
</AccordionGroup>

***

## Debugging & Errors

<AccordionGroup>
  <Accordion title="What happens after the AI fails 3 times?" icon="rotate-right">
    After 3 automatic fix attempts:

    1. A **Continue Fixing** card appears in the chat
    2. Optionally add more context in your message
    3. Click **Continue Fixing**

    The AI will automatically analyze the error and attempt a new fix with a fresh approach.
  </Accordion>

  <Accordion title="How do I see the actual error?" icon="code">
    Look in the chat — the build error is displayed there. It shows the error message and usually the file/line where it occurred.

    On Pro plans, you can also see detailed logs in the Code Editor.
  </Accordion>

  <Accordion title="How do I read app logs?" icon="terminal">
    **Pro plan required**

    1. Open the **Code Editor** tab
    2. Switch to the **Logs** view
    3. Run your app
    4. Logs appear in real-time

    Great for debugging runtime issues, not just build errors.
  </Accordion>

  <Accordion title="How do I fix a stuck build?" icon="circle-xmark">
    Try these in order:

    1. Describe the issue in your own words to the AI
    2. Type `/planclear` and re-explain what you want
    3. Close and reopen the project
    4. As last resort: delete the problematic code and ask the AI to rebuild it
  </Accordion>

  <Accordion title="How do I undo what the AI did?" icon="rotate-left">
    Say: "Undo that last change" or "Revert what you just did"

    The AI can undo its recent work. On Pro plans, you can also use [Version History](/features/version-history) to restore a previous version.
  </Accordion>

  <Accordion title="How do I make the AI try a different approach?" icon="shuffle">
    Say: "Try a different approach" or "That didn't work, try another way"

    Be specific if you can: "Try using a List instead of a ScrollView" or "Try a simpler implementation"
  </Accordion>
</AccordionGroup>

***

## Building & Testing

<AccordionGroup>
  <Accordion title="How do I run my app?" icon="play">
    Your app runs automatically after each successful build. It appears in the [embedded simulator](/features/embedded-simulator) on the right side of the Build tab.

    Mac apps run natively in their own window.
  </Accordion>

  <Accordion title="How do I test on different device sizes?" icon="mobile">
    Use the device selector in the embedded simulator's toolbar to switch between devices (iPhone SE, iPhone 16 Pro Max, etc.).

    For iPad apps, the iPad simulator is embedded the same way. Mac apps run natively.
  </Accordion>

  <Accordion title="How do I reset the Simulator?" icon="trash">
    In the Simulator menu:
    **Device → Erase All Content and Settings**

    This resets the Simulator to factory state, clearing all app data and permissions.
  </Accordion>

  <Accordion title="How do I enter test data?" icon="keyboard">
    Just type directly in the Simulator. Click text fields and type.

    For testing quickly: "Add some sample data so I can test how the list looks with multiple items"
  </Accordion>

  <Accordion title="Why is the first build slow?" icon="clock">
    First build compiles the entire Xcode project from scratch. This takes 30-60 seconds.

    Subsequent builds are incremental and much faster (5-15 seconds).
  </Accordion>

  <Accordion title="Can I build for iPad or Mac?" icon="tablet">
    Yes! Select your platform on the Home Page before creating a project:

    * **iPhone** — Standard mobile apps
    * **iPad** — Larger canvas with sidebars and split views
    * **Mac** — Desktop apps with menu bars and window management

    See [Multi-Platform Guide](/guides/multi-platform) for details.
  </Accordion>
</AccordionGroup>

***

## Settings & Configuration

<AccordionGroup>
  <Accordion title="How do I change my app's name?" icon="signature">
    Go to **Settings → App Identity** (or Project Settings).

    Change the display name there. This affects:

    * Name under the app icon
    * Name in the Simulator
    * Name on the App Store (if published)
  </Accordion>

  <Accordion title="How do I change the app icon?" icon="image">
    Go to **Settings → App Identity** and upload a new icon image.

    For best results: 1024x1024 PNG, no transparency.
  </Accordion>

  <Accordion title="How do I add a permission?" icon="lock">
    Go to **Settings → Permissions**.

    Enable the permissions you need (Camera, Location, Photo Library, etc.). Nativeline automatically adds the required usage descriptions.

    Or ask the AI: "Add camera permission to the app"
  </Accordion>

  <Accordion title="How do I enable a capability?" icon="wand-magic-sparkles">
    Go to **Settings → Capabilities**.

    Enable features like Push Notifications, Sign in with Apple, HealthKit, etc.

    Some capabilities require an Apple Developer account.
  </Accordion>

  <Accordion title="How do I switch to dark mode?" icon="moon">
    Go to **Settings → Appearance**.

    You can set light, dark, or system-follows modes.

    Or ask the AI: "Make the app support dark mode with appropriate colors"
  </Accordion>
</AccordionGroup>

***

## Data & Storage

<AccordionGroup>
  <Accordion title="How do I add cloud storage?" icon="cloud">
    Connect Supabase in your project settings:

    1. Create a Supabase account at supabase.com
    2. Get your project URL and anon key
    3. Tell the AI: "Connect to Supabase with URL: \[your-url] and key: \[your-key]"

    See [Supabase integration](/integrations/supabase/overview) for full details.
  </Accordion>

  <Accordion title="How do I save data locally?" icon="database">
    Ask the AI: "Save \[data] locally using SwiftData so it persists when the app is closed"

    SwiftData is Apple's modern local storage solution.
  </Accordion>

  <Accordion title="How do I import data from a file?" icon="file-import">
    Use the **#data** command to import JSON or CSV files directly into your app. Type `#data` in the chat, select your file, and describe what it's for.

    See [#data documentation](/toolkit/data) for details.
  </Accordion>

  <Accordion title="How do I delete all app data?" icon="trash">
    In the Simulator:

    1. **Device → Erase All Content and Settings** (full reset)
    2. Or delete just your app: long press → Delete App

    This clears all local storage for your app.
  </Accordion>

  <Accordion title="Where are my projects saved?" icon="folder">
    Projects are stored locally at:

    ```
    ~/Documents/Nativeline Projects/
    ```

    Each project has its own folder with the project name.
  </Accordion>
</AccordionGroup>

***

## Code & Editing

<AccordionGroup>
  <Accordion title="How do I see the code?" icon="code">
    **Pro plan or higher required**

    Click the **Code** tab to view all Swift code. You can browse files, read code, and make edits.
  </Accordion>

  <Accordion title="How do I edit the code myself?" icon="pencil">
    **Pro plan or higher required**

    1. Open the Code Editor
    2. Select a file
    3. Make your changes
    4. Save (Cmd+S)
    5. The app will rebuild

    Small tweaks (colors, text, spacing) are often faster to do yourself.
  </Accordion>

  <Accordion title="How do I learn Swift from my code?" icon="graduation-cap">
    **Pro plan or higher required**

    Read the generated code in the Code Editor. See how the AI implements features.

    Ask: "Explain what this file does" or "How does the \[feature] work?"
  </Accordion>
</AccordionGroup>

***

## Publishing

<AccordionGroup>
  <Accordion title="How do I test on a real iPhone?" icon="mobile-screen">
    Deploy to TestFlight:

    1. Set up an Apple Developer account (\$99/year)
    2. Configure certificates (Nativeline helps with this)
    3. Upload to TestFlight
    4. Install TestFlight on your iPhone
    5. Test your app

    See [Publishing](/publishing/overview) for the complete guide.
  </Accordion>

  <Accordion title="How do I submit to the App Store?" icon="store">
    After testing via TestFlight:

    1. Create your App Store listing in App Store Connect
    2. Add screenshots and descriptions
    3. Submit for review

    See [App Store submission](/publishing/app-store/overview) for details.
  </Accordion>

  <Accordion title="How do I share my app with friends?" icon="share">
    Use TestFlight:

    1. Upload your app to TestFlight
    2. Add your friends' emails as testers
    3. They install TestFlight and join your beta
    4. They can now use your app

    TestFlight is free, but you need an Apple Developer account (\$99/year).
  </Accordion>

  <Accordion title="How do I export a Mac app as DMG?" icon="hard-drive">
    Go to **Settings → Deploy** and select **DMG Export**.

    Requires an Apple Developer account for code signing and an App Store Connect API Key for notarization.

    See [DMG Export](/publishing/dmg-export) for the full guide.
  </Accordion>
</AccordionGroup>

***

## Account & Billing

<AccordionGroup>
  <Accordion title="How do I check my bit usage?" icon="gauge">
    Look for the usage indicator in Nativeline's toolbar. It shows your remaining bits and resets on your billing date.
  </Accordion>

  <Accordion title="How do I upgrade my plan?" icon="arrow-up">
    1. Go to **Settings → Plans**
    2. Select a higher tier
    3. Confirm the upgrade

    New bits are added immediately. You're charged a prorated amount.
  </Accordion>

  <Accordion title="How do I cancel my subscription?" icon="xmark">
    1. Go to **Settings → Subscription**
    2. Click **Cancel Subscription**
    3. Confirm

    Access continues until your billing date. Projects stay on your Mac.
  </Accordion>
</AccordionGroup>

***

## Still Can't Find It?

<CardGroup cols={2}>
  <Card title="Debugging Guide" icon="bug" href="/guides/debugging">
    In-depth debugging walkthrough
  </Card>

  <Card title="FAQs" icon="circle-question" href="/faqs/general">
    More Q\&A organized by topic
  </Card>
</CardGroup>
