Cloud iOS Simulator for coding agents

Claude Code and Codex can build and test iOS apps on a Macswarm Pod with the Latest Xcode and pre-booted Simulators. One Pod belongs to one developer; sessions share its build queue and Simulator pool. Agents return logs and screenshots to the dashboard and pull request.

How can a coding agent test an iOS app?

An iOS change is not finished when it compiles. Someone has to launch the app, tap to the screen that changed, read the log and look at the result. When the agent makes the change, the agent has to be the one looking. On a developer’s own Mac this is routine: Xcode provides the Simulator, and Claude Code Desktop opens an iOS Simulator pane next to the conversation when Claude builds, installs, launches or checks the app.

That pane does not travel. Claude Code’s documentation says the Simulator pane is “available in local sessions only”: in cloud and SSH sessions, Claude runs on a machine that cannot reach the Simulators on your Mac. An agent in a hosted Linux sandbox can edit iOS source, but local Xcode builds require a Mac.

An agent needs access to a Mac to build with Xcode or run Apple’s iOS Simulator. Macswarm runs the agent on that Mac; the remote-Simulator alternatives below serve agents running elsewhere. Sessions can start from the supported Claude or Codex interface, claude.ai, Claude Desktop, Slack or the Codex app, while execution takes place on the Pod, where the Simulators are already booted.

What does the testing loop look like on a Pod?

A task that needs the Simulator is phrased like any other:

Fix the crash on the notification prompt, run the UI tests on an iPhone Simulator and open a PR.

What the agent does on the Pod, in order:

  1. Build. The agent runs xcodebuild for the app target it chose; the build takes one of the Pod’s two slots, or waits for one.
  2. Launch. It leases a pre-booted Simulator from the pool and installs and launches the app through XcodeBuildMCP.
  3. Inspect. It taps to the screen in question, reads the Simulator log and takes screenshots.
  4. Fix. It patches the code in its own git worktree.
  5. Rerun. It builds again, runs the UI tests along the same path, returns the Simulator lease, commits and opens the pull request with the screenshots attached.

You follow the run in the Macswarm dashboard, which shows the agent’s logs and the screenshots it took, and in the pull request. There is no live screen into a Pod, and this page carries no recording; what the dashboard shows is the agent’s own evidence of what it did. Commits are attributed to you, the developer who started the session.

Which Simulator tools are installed in a Pod?

A Pod is one hosted Mac for one developer, booted from a golden image and destroyed when the work is done. The parts that matter for Simulator work:

Component In every Pod
Xcode The Latest Xcode and the previous major version, with command line tools
iOS runtimes Current iOS plus the previous major, so apps can be checked on both
Simulators Three to four devices pre-booted per Pod, leased to agents in turn
Tooling XcodeBuildMCP for building, launching and driving the Simulator
Build queue Two concurrent xcodebuild runs, fair sharing between agents
What comes back Logs and screenshots in the dashboard and attached to the PR

Each Pod has a shared pool of three to four pre-booted Simulators. An agent leases a Simulator for a launch or test run and returns it afterward. A lease idle for five minutes is released; agents queue when devices are busy. Builds enter a queue with two slots, and the agent that has waited longest goes next. Separately from device allocation, two to three active agents per standard Pod are guaranteed; Limits and queues has the numbers and Inside a Pod the full inventory.

There is no SSH and no screen sharing into a Pod. You watch agents through Claude, Codex, or the logs and screenshots in the dashboard. Those logs and screenshots stay in the region you chose for the environment, EU (Netherlands) or US, and are retained for 30 days; Team and Enterprise can set a shorter period. Security has the retention table and the privacy policy is its authoritative version.

How does Claude Code connect to the Simulator?

Claude Code reaches a Pod through a self-hosted environment, a Claude Team and Enterprise feature in public beta (Anthropic: Self-hosted environments). Claude Code self-hosted environments on macOS explains the architecture and data flow; the connection is:

  1. In your Claude organization settings, an Owner turns on self-hosted environments, creates an environment and copies its key.
  2. In the Macswarm dashboard, open Environments, choose Connect Claude, paste the key, pick EU or US and save.
  3. Start a Claude Code session from claude.ai, Claude Desktop or Slack and pick the Macswarm environment. A clean Pod boots from the warm pool in a few seconds with the Simulators already running.

Macswarm is in early access; dashboard labels may change before general availability, and info@macswarm.com answers when a control does not match. Claude Pro and Max accounts cannot create a self-hosted environment, but can start a Pod on Macswarm Free or Pro and sign in to Claude Code inside it with their own account; the FAQ records that route and Run Claude Code and Codex on a cloud Mac describes it. The Claude Code quickstart has troubleshooting.

How does Codex connect to the Simulator?

Codex gets a Mac through the OpenAI Agents API, whose self-hosted sandboxes let a webhook you register provide the environment (OpenAI: Self-hosted sandboxes). Codex on a macOS environment explains the route; the connection is:

  1. In the Macswarm dashboard, open Environments, choose Connect Codex, pick EU or US and copy the webhook URL.
  2. Paste it into your Agents API environment settings as the sandbox webhook, and add the deploy key or GitHub App and the build secrets.
  3. Start a Codex session from the Codex app or your workflow and pick the Macswarm environment. Codex requests a Pod when a task needs Xcode or a Simulator; Linux sandboxes from other providers keep working.
Build Tidewater for an iPhone Simulator, tap through onboarding and attach a screenshot of every screen.

Codex builds with xcodebuild, leases a Simulator, drives the app through XcodeBuildMCP and attaches the screenshots. Claude Code and Codex sessions from the same developer share one Pod; the Codex quickstart has troubleshooting.

What does a cloud iOS Simulator cost on Macswarm?

A cloud iOS Simulator on Macswarm costs nothing beyond the Pod it runs on. Every Pod includes three to four pre-booted Simulators, so there is no separate Simulator price and no per-agent fee. Macswarm bills Pod-hours: one Pod running for one hour, whatever the number of agents inside it, metered per second. The Pod is destroyed ten minutes after its last session ends, and those ten idle minutes are billed, which matters for short Simulator tasks. Free includes 3 Pod-hours once, with no card. Pro is $99 a month for 300 Pod-hours and $0.40 for each extra hour; Team is $399 for 1,500 and $0.30 beyond; Enterprise reserves Macs by contract and is not metered. Model usage is billed separately by Anthropic or OpenAI to your own account. One Pod belongs to one developer, and that developer’s sessions share its Simulator pool and two build slots. The pricing page lists all four plans.

Which alternatives exist, and where is each better?

The options we checked, with the vendor’s own numbers and the date we read them.

Option What it is Price Better when
Argent Cloud (Software Mansion) Hosted iOS Simulators on dedicated Apple hardware for agents that run elsewhere; works with Argent, Maestro and Appium $299 a month per Runner, up to 6 Simulators in parallel, unlimited time, self-serve up to 5 Runners (checked 25 Oct 2026) Your agent stays on Linux and you want Simulators busy all month at a flat price
Expo Simulators (EAS) Remote iOS Simulator and Android Emulator on EAS, driven from the EAS CLI, a REST API or an official agent skill Limited-access preview with a waitlist, not included in free or paid plans (checked 25 Oct 2026) You build with Expo or React Native, need Android too, and can get into the preview
A local Mac Xcode’s Simulator on your own machine, with Claude Code Desktop’s iOS Simulator pane for local sessions The Mac you already own One developer, one Mac, local sessions
Macswarm Pod A hosted Mac per developer, shared by that developer’s Claude Code and Codex sessions, with three to four pre-booted Simulators, XcodeBuildMCP and two build slots Free 3 Pod-hours once; Pro $99 a month for 300 Pod-hours, $0.40 per extra hour; Team $399 for 1,500 (pricing) Cloud sessions, teams without Macs, several agents in parallel for one developer, EU hosting

The documented Pod image includes iOS Simulators; this page covers iOS workflows. There is no browser stream for manual QA and no screen sharing into a Pod. More two-way comparisons, including per-minute and rented Macs, are under Compare.

What else do people ask?

Can a cloud Claude Code session use the iOS Simulator pane?

No. The pane in Claude Code Desktop is available in local sessions only; in cloud and SSH sessions Claude runs on a machine that cannot reach the Simulators on your Mac. In a Pod the Simulators live on the hosted Mac the session runs on, and the agent drives them with XcodeBuildMCP. There is no screen sharing into a Pod; what you see is what the agent reports, logs and screenshots in the dashboard and on the PR. The FAQ says the same: one does not replace the other.

Is there an iOS Simulator MCP server in a Pod?

Yes. Every Pod ships with XcodeBuildMCP, the MCP server the agent uses for building, launching and driving the Simulator. It is part of the image, so there is nothing for you to install. XcodeBuildMCP is third-party tooling that the Pod includes, a published interface rather than a Macswarm product. If your project needs another tool in the base image, tell us; Inside a Pod lists what is installed.

How many Simulators does one agent get?

Each Pod has a shared pool of three to four pre-booted Simulators, running current iOS and the previous major. An agent leases a Simulator for a launch or test run and returns it afterward. A lease idle for five minutes is released; agents queue when devices are busy. Separately, two to three active agents per standard Pod are guaranteed; more agents queue for Simulators and build slots rather than being refused. Pro allows four Pods at a time and Team ten. Limits and queues has the numbers.

Does Codex work the same way as Claude Code?

Yes, with a different connection. Claude Code uses a self-hosted environment key, a Claude Team and Enterprise route in public beta; Claude Pro and Max users can instead sign in to Claude Code inside a Pod. Codex uses an Agents API webhook registered as the sandbox webhook in your Agents API environment settings, then picks Macswarm when a task needs Xcode or a Simulator. Inside the Pod both agents use the same Simulator pool, build queue and XcodeBuildMCP, and sessions from both share one developer’s Pod. Model usage is billed by OpenAI or Anthropic to your own account; Macswarm bills the Pod-hours.

What does Simulator time cost?

Nothing beyond the Pod. Macswarm bills Pod-hours, one Pod running for one hour regardless of how many agents are active, metered per second until ten minutes after the last session ends; those ten idle minutes are billed. Every plan’s Pod includes the pre-booted Simulators, so there is no separate Simulator price and no per-agent fee. Free gives 3 Pod-hours once, no card. Pro is $99 a month for 300 Pod-hours and $0.40 per extra hour; Team is $399 for 1,500 and $0.30 per extra hour. The pricing page has the plans; the glossary defines a Pod-hour.

How do I try a Pod?

Start free with 3 Pod-hours

No card. Connect Claude Code or Codex and the first Pod boots from the warm pool with the Latest Xcode and Simulators ready.

Reviewed October 25, 2026. Facts on this page are rechecked when the product or a vendor's prices change.