XcodeiOS 27SimulatorDebuggingProductivity

Goodbye Simulator.app, hello Device Hub: the new device workshop in Xcode 27

This is the second post in the series about post-launch iOS 27 news. The first covered the Xcode 27 Agent Skills; the third, the six iPhone Duo APIs in Xcode 27.1.

Xcode 27 retired Simulator.app. In its place is a new app called Device Hub that unifies management of simulators and physical hardware under a single interface (WWDC26 — Get the most out of Device Hub, official Device Hub docs, Michael Tsai — Xcode 27’s Device Hub).

It’s not a cosmetic rename. Simulator.app had been accumulating patches for years: separate management of physical hardware (in Devices & Simulators inside Xcode), the standalone Simulator.app for simulators, and xcrun simctl as a parallel CLI. Device Hub collapses those three into one.

What changes day to day

If your flow was “Xcode → Cmd+R → Simulator.app appears,” the new flow is “Xcode → Cmd+R → Device Hub appears pointing at the selected simulator.” Superficially the same — but there are real changes underneath:

You no longer distinguish between “the simulator panel” and “the physical device panel.” One sidebar shows them all, with filters, sorting, grouping. iPhones connected via USB, installed simulators, devices over Wi-Fi — all there, same treatment.

The interactive canvas has more options. Beyond touching the screen, you now have: zoom, hardware controls (side buttons, volume, action button exposed), keyboard capture with an explicit toggle, and a resize mode that reproduces how your app looks in iPhone Mirroring when the user resizes it on the Mac.

5 inspector panels on the right to dig in without leaving the app:

  1. Appearance — dark/light, dynamic type, contrast, reduce motion, layout direction.
  2. Conditions — simulated location, network link conditioner, thermal state.
  3. Diagnostics — device logs, crash reports, energy impact, memory snapshots.
  4. Device info — model, OS, storage, battery, all the metadata without xcrun simctl list.
  5. Apps & profiles — install, launch, uninstall, manage provisioning profiles and config.

Before, those five sections lived in 5 different places: the Simulator.app menu, the Devices & Simulators window, a third-party plugin for logs, simctl for install. Now they’re 5 tabs of the same inspector.

The two window modes

Device Hub has compact and full. Full is the view with sidebar + canvas + inspectors — for deep work. Compact is a small window with only the canvas, to keep on the side while you code and verify visual changes live.

Before, you did that by shrinking Simulator.app to a bare canvas. Now it’s a declared mode — it resizes correctly to the device’s resolution and aspect ratio instead of cropping.

devicectl is the unified CLI

devicectl already existed in Xcode 26, but only for physical hardware. In Xcode 27 it was extended to simulators — meaning it’s now the CLI that manages everything Device Hub manages graphically. simctl still lives for compat, but devicectl is the new default.

Example listing everything (simulators + physical) in one call:

xcrun devicectl list devices

Before:

xcrun simctl list devices  # simulators
xcrun devicectl list devices  # physical only (Xcode 26)

For CI/CD this is a useful shift — one command covers the whole fleet (Bitrise — WWDC 2026: Device Hub and CI/CD).

Resize mode: the hidden gem

This is the feature I liked most on trying it. With iPhone Duo arriving in October and iPhone Mirroring on the Mac letting the user resize, your app has to survive sizes that aren’t the canonical device dimensions (daily.dev — Meet Device Hub).

Resize mode takes your app running in the canvas and lets you drag the corners to resize the window in real time. You see the sidebar collapse, how the adaptive toolbars (covered in the launch post) rearrange, how an ArrangementView behaves as you move from horizontal to vertical.

It’s basically the “is my app resizable” test Apple has been pushing since WWDC26, without leaving the debugger.

What to expect when you update

A couple of things worth knowing:

CI scripts that called simctl don’t break, but the new pattern is devicectl. If your pipeline runs simulator builds, consider migrating the script to xcrun devicectl for future-proofing.

Third-party plugins that hooked into Simulator.app (video recording, screen mirroring to external tools) may need updates. The popular ones already shipped patches; the less-maintained ones will be left broken.

Keyboard shortcuts changed. Not radically, but Cmd+K (used to be “reset” in Simulator.app) is now “keyboard toggle.” If you had muscle memory, expect to adjust.

Apple’s plan is visible

Zooming out, Device Hub fits with what’s visible across the release: iPhone Duo, resizable iPhone Mirroring, Xcode 27 agentic — a world with many devices and many surfaces. Managing simulators separately from physical hardware doesn’t scale anymore.

Combined with the device-interaction skill covered in the first post of the series, Device Hub becomes the API that agents use to verify your app end-to-end. The skill tells the agent “take this screenshot”; Device Hub is what executes the instruction.

Adoption in a minute

Nothing to do — it installs with Xcode 27. When you build your target, Device Hub appears instead of Simulator.app. If you prefer compact mode, View → Compact from the menu.

Continue the series

Sources