# Image Picker

### How It Works

The Image Picker opens your device’s file picker or camera, depending on the **build type**, **operating system**, and **browser**. Once a user selects or captures an image, the file is stored in your database or used in your app flow.

{% hint style="success" %}
Camera and Gallery Permissions are prompted initially with no additional setup needed.
{% endhint %}

***

### Expected Behavior Across Platforms

Because the Image Picker relies on the device and browser APIs, its behavior varies:

#### iOS

* **Native App (App Store / TestFlight build)**:\
  ✅ Users can select from **Camera** or **Photo Library**.
* **PWA (installed or Web)**:

  ✅ **Safari (iOS)**: Users can select photo from **Photo Library, Camera, or Files**

  ✅ **Chrome (iOS)**: Users can select photo from **Photo Library, Camera, or Files**

#### Android

* **Native App (Play Store / APK build)**:\
  ✅ Users can select from **Camera** or **Gallery**, using system camera APIs.
* **PWA (installed via Chrome / other browsers)**:\
  ⚠️ Users usually **only see Gallery (Photos or Albums)**\
  The Camera option does **not appear.**\
  ⚠️ Browser behavior may also differ by version (e.g., Chrome vs. Samsung Internet).

***

### &#x20;Limitations & Workarounds

* On **Android PWAs**, users cannot directly access the Camera inside the Image Picker. Instead, they should:
  1. Take a photo with the Camera app.
  2. Select it from the Gallery when uploading in your PWA.
* If your app requires frequent camera use, we recommend distributing it as a **native build** rather than relying on the PWA version.
