iOS Simulator · macOS

Test supported Simulator camera flows with Buoy

Updated September 2026

Buoy supplies a camera feed to supported iOS Simulator apps. Choose a webcam, screen region, generated barcode, image, video or test pattern. Your app does not need the Buoy SDK, but camera-library and capture-API compatibility still matter.

Start a camera session

  1. Open Buoy Desktop on your Mac, sign in and boot the target iOS Simulator.
  2. Open Camera and choose a source. Grant macOS camera or screen-recording permission when required.
  3. Launch the app after enabling the camera. Relaunch an app that was already running; Fast Refresh does not restart its process.
  4. Open the app's camera flow and check both its preview and Buoy's receiving status. Then test the action you need, such as scanning or still capture.

Changing the source after attachment does not require another app launch. A receiving status confirms frame consumption; it does not prove that your barcode callback, photo output or recording feature succeeded.

Choose a source

A region of your Mac screen

Capture a selected screen region. Requires Pro access and macOS screen-recording permission.

A webcam

Use an available Mac camera after granting camera permission.

A generated barcode

Generate QR or supported non-QR test codes. Non-QR generation in Desktop requires Pro access.

An image

Publish a supported image file as a steady test fixture.

A video

Loop a supported video file as the camera input.

A test pattern

Publish a generated pattern to check that frames reach the app.

Free and Pro access

Desktop requires a Buoy account. At Free limits, the panel offers webcam, image, video, test-pattern and QR generation. Screen-region capture and non-QR barcode generation require Pro access. Camera MCP actions also require Pro; camera_diagnose is available without that Pro gate.

Barcode generation and decoding are separate steps. Verify the actual scanner and payload format used by your app. See current plan terms for temporary access offers.

Check your camera library

Buoy supplies a simulated capture device and frames through supported capture APIs. It does not make every library or simulator binary compatible. Some library versions compile out their Simulator camera path.

The patch command inspects known library guards. Review its report before applying changes, and rebuild your app after a native-source patch:

buoycam patch
buoycam patch apply

Preview, scanning, still capture and video recording use different paths. Test each required operation with your library version. A video used as an input source does not establish support for recording output. Keep physical-device tests for hardware behavior that a simulated feed cannot verify.

Terminal and CI setup

Install the bundled buoycam command through Desktop's CLI setup and confirm it is on your PATH before using these commands:

buoycam devices
buoycam source barcode "hello"
buoycam launch com.example.app
buoycam diagnose com.example.app
buoycam codes
buoycam stop

Replace com.example.app with your installed Simulator app's bundle ID. Use --udid with launch or diagnose when selecting a specific Simulator. The codes command reports helper decoding; verify your app's own scan result too.

CI needs a macOS runner with Xcode's Simulator, the bundled native helpers and the app under test. Image, video, barcode and pattern sources avoid interactive capture permissions. Webcam and screen sources require a suitable logged-in macOS session and permissions. Verify the runner before relying on a passing camera test.

The standalone CLI has a separate execution path from Desktop and MCP. Do not infer Desktop or agent entitlements from a command succeeding locally.

Agent access and troubleshooting

Camera MCP includes source, status, launch and diagnosis tools. Pro access is checked through Desktop's camera entitlement; diagnosis can explain setup failures without Pro. Follow the MCP guide for process and account setup.

When a test fails, check the selected Simulator, publishing source, app restart, frame consumption and library support in that order. A working preview alone is not a complete capture test.

Does my app need a Buoy package?

No Buoy SDK is required in the app under test. Host setup and a compatible Simulator camera path are still required; some libraries need an upgrade or native patch.

Does this work on a physical iPhone?

This tool targets iOS Simulator on macOS. Use a physical device to verify real camera hardware and capture behavior.

Why does my app still show no camera?

Relaunch its process after enabling the source, then run diagnose. Check whether your camera library disables its Simulator path. Fast Refresh alone does not attach the camera.

Can I test ID scanning?

Use an appropriate test fixture and verify the app scanner and payload parser. Non-QR generation and screen-region sources in Desktop require Pro access. A generated code does not validate an entire identity-verification flow.

Set up Simulator camera testing

Follow the host setup and compatibility checks. Desktop requires an account; source and agent features have plan limits.

Quick startbuoycam diagnose