An AI coding agent can test an iOS app today only through Apple’s toolchain on a Mac: the Xcode Simulator, XCUITest, or an MCP server that drives a booted simulator or a USB-connected iPhone. For physical iPhones without your own lab, device farms run XCUITest suites on hosted hardware. Mobilebox sets up iPhone and iPad sandboxes with you on a short onboarding call.

Every path starts at a Mac

Apple’s Xcode requirements list a supported macOS version for every Xcode release. Apple’s guide to running apps on simulated or physical devices says simulators run on your Mac and "don’t replicate the performance or features of a physical device". Physical devices are paired with your Mac.

UI tests use Apple’s XCUIAutomation framework, which lets a test "control your app’s user interface and inspect its state". Tools built on top inherit that dependency. The Appium XCUITest driver lists a macOS host as a primary requirement, notes limited support for Windows and Linux hosts, and depends on WebDriverAgent, which relies on XCTest.

Four ways to give the agent an iPhone screen

OptionWhat the agent drivesWhat you maintain
mobile-mcp on your MacA booted simulator, or a real device "connected over USB and trusted"Xcode, the simulator runtime, the local MCP process
Appium XCUITest driverWebDriver sessions on a simulator or deviceAppium, Xcode, WebDriverAgent setup for real devices
A GitHub-hosted macOS runnerWhatever your workflow installsWorkflow steps, signing secrets, runner minutes
A device farmYour uploaded app and XCUITest suite on hosted iPhonesBuild artifacts and the farm’s job configuration

The first option suits an interactive coding session. Your agent reads the screen through MCP tools, taps, and reports what it saw. mobile-mcp’s README says you need Xcode and a running simulator first, for example by running xcrun simctl boot "iPhone 16".

Farm workflows center on uploaded builds and test suites. BrowserStack App Automate needs an .ipa and a zipped XCUI test suite. Firebase Test Lab runs XCTest on iOS devices hosted in a Google data center. AWS Device Farm offers real phones and tablets, with remote access through a managed Appium endpoint.

In CI, plan for macOS runners

GitHub’s hosted runner reference lists arm64 macOS labels such as macos-latest, and states: "Nested-virtualization is not supported due to the limitation of Apple’s Virtualization Framework." GitHub’s runner pricing bills macOS minutes at a higher per-minute rate than Linux. Keep the agent’s exploratory loop local. Put the deterministic XCUITest suite in CI.

Keep the agent’s task narrow

Give the agent one build, one flow and one observable outcome: "launch, create an item, relaunch, confirm the item is listed". Have it report the screen it saw, not just that a tap succeeded. A tap that returns without error has not proven the task; see verifying agent workflows.

Simulator results are evidence about the simulator. Apple’s guide says some hardware-specific features might not be available there, and you should run on a physical device to test the feature itself.

Where Mobilebox fits today

Mobilebox runs cloud Android 14 phones (arm64) that your agent drives over REST or a hosted MCP server. It reads the screen as numbered elements, taps, types, swipes, installs APKs, and parks and resumes the phone. A ready phone costs $0.01 per minute. If your app also ships for Android, the agent can check that build now; start with the quickstart.

For iPhone and iPad, sign up and book a 30-minute onboarding call; the iPhone page explains the setup, and the API reference documents the platform: "ios" option.

Sources reviewed on November 4, 2026.

Put it to work.

Open the quickstartRead the API reference