Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ view inside the editor.
- Real-time screen `describe` command using accessibility view tree - available in token-efficient format for agents
- Simulator app performance gauges for CPU, memory, disk writes, network throughput, hang signals, and stack sampling
- CoreSimulator chrome asset rendering for device bezels
- iOS Simulator camera simulation from a generated pattern, local media file or stream URL, or a Mac camera source
- NativeScript, React Native, Flutter, UIKit and SwiftUI runtime inspector plugins to debug app's view hierarchy live
- `simdeck/test` for fast JS-based app tests that can query accessibility state and drive simulator controls

Expand Down Expand Up @@ -126,6 +127,11 @@ simdeck install android:<avd-name> /path/to/app.apk
simdeck uninstall <udid> com.example.App
simdeck open-url <udid> https://example.com
simdeck launch <udid> com.apple.Preferences
simdeck camera sources
simdeck camera start <udid> com.example.App --file /absolute/path/to/camera.mov
simdeck camera start <udid> com.example.App --webcam
simdeck camera switch <udid> --placeholder
simdeck camera stop <udid>
simdeck toggle-appearance <udid>
simdeck pasteboard set <udid> "hello"
simdeck pasteboard get <udid>
Expand Down Expand Up @@ -188,6 +194,14 @@ transport stream.
`stream` writes an Annex B H.264 elementary stream to stdout for diagnostics or
external tools such as `ffplay`.

`camera start` asks the SimDeck daemon to publish a camera feed, injects the
SimDeck camera shim into the target iOS simulator app, and relaunches that
bundle. The source can be a generated pattern, an absolute image or video path,
an `http://`, `https://`, or `file://` video URL, or a Mac camera selected with
`--webcam [id-or-name]`.
Use the browser menu item **Camera Simulation...** for the same flow from the UI.
Camera simulation is iOS-simulator-only and requires a booted simulator.

`describe` uses the project daemon to prefer React Native, NativeScript,
Flutter, or UIKit in-app inspectors, then falls back to the built-in private
CoreSimulator accessibility bridge. Use `--format agent` or
Expand Down
12 changes: 12 additions & 0 deletions cli/camera/SimDeckCameraInfo.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleIdentifier</key>
<string>dev.nativescript.simdeck</string>
<key>CFBundleName</key>
<string>SimDeck</string>
<key>NSCameraUsageDescription</key>
<string>SimDeck can forward the Mac camera into iOS Simulator apps for local camera testing.</string>
</dict>
</plist>
Loading
Loading