SwiftUI apps run in the simulator
This week brought interactive SwiftUI apps to the simulator, iPhone Duo and iPhone Air models to explore, and design annotation with alternatives. Simulator previews start and update more quickly, and hosted sessions and billing got more reliable.
Platform
Annotate app screens and explore design alternatives
Design mode lets you annotate app screens and explore design alternatives.
Render SwiftUI, Air, and Duo apps in the simulator
Interactive SwiftUI apps now run in the simulator. Choose iPhone Air to explore its layered internals, or preview apps on iPhone Duo in closed and open postures.
Match the iPhone Duo home screen to the reference
The iPhone Duo home screen and navigation now match the reference, and the Duo simulator is more complete.
Run hosted tests and share previews from the CLI
The CLI runs apps and test suites on hosted simulators, inspects remote sessions, and shares previews.
Tech
Native previews start sooner and send less on edits
Opening a native preview prepares the app alongside project setup, so first content can appear sooner. The preview starts fetching its project bundle as soon as the project surface mounts. Warm edits send only the changed chunk.
Text inspection and element search do less work
Text inspection collects candidate text in one pass instead of repeating work on large app trees. Element searches compute visibility and occlusion only for nodes that match, so a search with no matches stays a single tree pass.
Hosted and remote simulators stay connected
Hosted simulator sessions stay alive through idle periods, and Box browser sessions stay alive while connected users are active. Remote simulators keep frames and state in order across the runner and the display.
Patch-only dependency changes rebuild
Compiled artifact addresses include the exact patch fingerprint, so a patch-only change produces a new artifact. Mobile OTA and TestFlight delivery decisions hash patch bytes too, so a patch-only change no longer reuses a stale delivery decision.
Overlapping sessions bill once
Simulator and Box sessions can overlap without double billing. Simulator time that overlaps a Box session is excluded from its charge when both belong to the same account. Stop and heartbeat races also keep hosted sessions metered correctly.
Design and capture
- Design canvas adds fit and actual-size controls
- Design tools make screen navigation and icon editing clearer
- Compatibility scores separate estimates from measured support
- Design previews use the screen’s matching sample data
- Hosted design capture supports WebGPU and reports software-GPU contention
- Design captures explain when a screen is missing from navigation
- Design Map captures screens after the published app is ready
Mobile and chat
- Older mobile chat messages load as you scroll up
- Dragging the keyboard down preserves chat position
- First assistant replies arrive sooner
- Assistant replies stay attached to the message they answer
- Chat progress links to the relevant screen and board
- Cancelling an agent run also stops its native model turn
- Free Factory projects can run up to four helper agents
- The mobile Factory feed follows conversations and activity in one place
- Mobile apps follow the system appearance
- VoiceOver can navigate mobile projects and controls
Projects, editor, and templates
- Saved app icons show in project rows
- Editor completions and diagnostics use the active project’s types
- The IDE keeps Development and Design panes in fixed groups
- Workspace panes stay available through errors and hot updates
- Protected projects share one deletion guard across deletion paths
- Web previews keep app storage separate
- The Home Designer example gains a 3D furnishing editor
- Friends can furnish a shared home in real time
- A native Music example adds an artist-to-album listening flow
Remote simulators and Box
- Simulator commands and scrolling stay responsive in remote previews
- Bottom-edge controls receive taps, and remote input catches up after idle periods
- Remote viewers receive scroll changes without overriding their own input
- Box controls remote and local simulator viewing
- The Box menu switches between shared and private simulator views
- Box previews show readiness and rebuild from current project files
Simulator and tooling
- Inspect a running app from the devtools dock
- Test runs are easier to follow in the devtools pane
- Keep the simulator full size while developer tools are open
- Automation waits for simulator results after flow actions
- Simulator CLI commands support more app workflows
- Recording controls and saved captures are available from the menu
React Native compatibility
- The simulator supports React Native 0.87 VirtualView and Reanimated 4.6
- Apps can read initial safe-area insets
- Worklets apps can run named runtimes
- Reanimated CSS animations cover borders, shadows, and layout
- Apps can use the standard network-status lifecycle
- Hosted WebViews support history and gated navigation
- Complete or cancel browser sign-in from hosted apps
- Embedded web pages work in simulator previews
- Lottie animations play in simulator previews
Native fidelity
- Simulator text actions match the words actually on screen
- Simulator glass looks closer to iOS during scrolling and presses
- Floating tab bars match iOS glass and adapt to scrolling
- Bottom sheets size and present like iOS
- Native menus open from their triggers and fit their content
- Apps minimize smoothly into their icons
- Shared-element zoom opens from the tapped image
- System typography and status details look closer to iOS
- The simulated iOS keyboard uses action-key symbols
- Bottom tab press motion matches iOS in light and dark modes
- Native tab scrolling keeps content reachable
Rendering and device models
- Air clear finishes reveal the assembly beneath graduated frost
- Clear device finishes are easier to customize
- Phone previews show distinct frosted materials
- Add lighting controls to the simulator studio
- Share 3D scenes with compact links
- Notes uses two panes on the wider Duo screen
- The simulator’s built-in iOS icons more closely match their references
Accounts and reliability
- GitHub sign-in returns to the app
- OAuth can start while authentication storage recovers
- Keep app sign-in across simulator reloads
- Project access denials preserve sign-in state
- Mobile cold starts retain the saved account identity
- Retry workspace publication when sibling work advances the revision
- Factory inference and cancellation resolve billing against the project
- AI routing preserves route health across account credit denials
Fixes and polish
860 fixes and 26 performance improvements landed this week.