Test supported Simulator camera flows with Buoy
Updated September 2026
Start a camera session
- Open Buoy Desktop on your Mac, sign in and boot the target iOS Simulator.
- Open Camera and choose a source. Grant macOS camera or screen-recording permission when required.
- Launch the app after enabling the camera. Relaunch an app that was already running; Fast Refresh does not restart its process.
- 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 applyPreview, 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 stopReplace 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?
Does this work on a physical iPhone?
Why does my app still show no camera?
Can I test ID scanning?
Set up Simulator camera testing
Follow the host setup and compatibility checks. Desktop requires an account; source and agent features have plan limits.
buoycam diagnose