Drive the simulator
For AI agents: this page is Markdown at https://squiggle.sh/docs/studio/device.md. Every docs page is listed at https://squiggle.sh/llms.txt, and all of them are one file at https://squiggle.sh/llms-full.txt.
Studio shows the simulator live, in the device's real frame. Click, drag, scroll and type on it from your Mac, press its buttons, and change its settings.
Use the app
Both of these are on by default, in the device panel’s Interaction menu:
| Toggle | What it does |
|---|---|
| Pointer interaction | Your clicks, drags and scrolls drive the simulator. Turn it off to look without touching. |
| Keyboard capture | Your Mac’s keystrokes go to the simulator while it has focus. Click the simulator to give it focus; click anywhere else in Studio to take it back. |
Touch and scroll
| To | Do this |
|---|---|
| Tap | Click. |
| Drag or swipe | Click and drag. |
| Scroll | Scroll with your trackpad or mouse wheel over the screen. It moves a finger on the simulator, so lists scroll, bounce and snap as they do under a real finger, and a long scroll keeps going. Over a Studio popover drawn on the screen, such as the notifications, the popover scrolls instead. |
| Go home or back | Drag up from the bottom edge, or in from the left edge, as you would with a finger. |
| Press a button | Home, Lock, the volume buttons and Shake are in the Hardware menu. With the real device frame, you can also press the side buttons on it. |
Type
| Key | What happens |
|---|---|
| Letters, numbers, symbols | Typed into the focused field, with your keyboard layout and capitals. |
| Return | Presses the keyboard’s return key: it submits a form or runs the field’s submit action, as the app decides. |
| Tab | Sent to the app. iOS only moves to the next field if the app handles Tab itself. |
| Delete, arrows, Escape, Page Up and Down | Sent as the same keys on a hardware keyboard. |
| ⌘ C and ⌘ V | Copy and paste between your Mac and the simulator. |
| Other ⌘ and ⌃ shortcuts | Sent to the app, such as ⌘A to select all. Studio’s own shortcuts keep working. |
These are real touches and key presses, the same as using the simulator directly.
Keep the on-screen keyboard
iOS hides its on-screen keyboard once you type from a hardware keyboard. Turn on Keep software keyboard in the Interaction menu to keep it showing. It needs the app launched with Squiggle attached, and is remembered for each device.
Change the simulator’s settings
Three menus in the device panel change the simulator itself. When the simulator can’t report a value, the menu shows a dash instead of guessing.
| Menu | What it changes |
|---|---|
| System | Dark appearance, Increase contrast, text size (XS to AX5), and the status bar: Clean shows 9:41 with full signal and battery, Reset gives it back. |
| Location | A city, a moving route (City Run, City Bicycle Ride, Freeway Drive), or no location. |
| Permissions | Grant or revoke each of the app’s permissions, or all of them. Granting all may restart the app. |
Save the screen you’re on
In the device panel’s Capture menu, Save slot saves the current screen and the data behind it, named by the time, such as studio-20261017-091504. Load a slot lists the newest eight and puts one back, so you start on a deep screen instead of tapping your way there. These are the same slots as squiggle save and squiggle load. For what a slot holds and why a load is refused, see Save and restore your app’s state. To find which saved values make a flow fail, see App state.
Take a screenshot or record the screen
In the Capture menu, Screenshot saves a PNG of the screen and Record screen records a video until you choose Stop screen recording. Both go to the Gallery (⌘ 0), newest first, beside the screenshots your agent takes. Open one to see it large; ← and → step through them and Esc goes back to the grid. Record session, in the same menu, records a session for Replay instead.
The device frame
Studio draws your simulator in its real frame, read from your Xcode install. Devices with a home button, and a rotated device, get a drawn frame instead. In the Interaction menu, turn off Real device skin for the drawn frame everywhere, or Device bezel for no frame.
To save CPU while you aren’t watching, turn off Live stream in the same menu: the screen freezes on its last frame until you turn it back on.