Test it the way you would test any iPhone app, with one extra rule: the agent’s report that "it works" is not evidence. Run the build in the Xcode Simulator, turn the outcome you care about into an XCUITest, then run it on at least one physical iPhone before you trust it. All of this needs a Mac. Mobilebox sets up iPhone and iPad sandboxes with you on an onboarding call.
Step 1: run it in the Simulator
Apple’s guide to running apps on simulated or physical devices suggests simulators for debugging on hardware you might not have. It also warns that they "don’t replicate the performance or features of a physical device". Xcode itself requires a supported macOS version.
If you want the agent to tap through the app itself, a local MCP server such as mobile-mcp can drive a booted simulator. Its README lists Xcode and a running simulator as prerequisites. Ask the agent for the screens it saw, not a summary of its intent.
Step 2: write down the outcome, then the test
Before anyone writes test code, write the outcome in one sentence. For example: "after relaunch, the item I created is still in the list". Then encode it with XCUIAutomation, Apple’s framework to "control your app’s user interface and inspect its state".
If the agent writes the test too, review it as carefully as the feature. A test written by the same agent can mirror the same misunderstanding. Check that it fails on a build where the feature is broken, and that it asserts on visible state rather than on a call returning. The evaluation guide is about Android, but the same idea applies: don’t let the agent grade its own story.
Step 3: put it on a real iPhone
The same Apple guide says some hardware-specific features might not be available in a simulator. To test the feature itself, run your code on a physical device. The first run needs signing. You sign in with an Apple Developer Program or personal Apple Account, then Xcode registers the device and creates a provisioning profile for it.
The device also needs Developer Mode. You turn it on under Privacy & Security, restart, and confirm with the passcode.
Step 4: widen to more devices
When one iPhone passes, a hosted lab can run the same suite across models:
| Service | What you hand it |
|---|---|
| BrowserStack App Automate | An .ipa and a zipped XCUI test suite, run on real iOS devices |
| Firebase Test Lab | An XCTest run on iOS devices hosted in a Google data center |
| AWS Device Farm | Uploaded app and tests, or remote access, on physical phones and tablets |
If CI should build and run the suite, GitHub-hosted macOS runners can run the job. They do not support nested virtualization.
What a pass tells you
A green suite proves the flows it checks, on the simulators and devices it ran on, for that build. It does not prove the flows nobody wrote down. Keep the build number, the device list and the failing screenshots together, so the next agent session starts from evidence.
If the app also ships for Android
Mobilebox runs cloud Android 14 phones (arm64). Your agent drives them over REST or a hosted MCP server: it observes the screen as numbered elements, taps, types, swipes and installs APKs. A ready phone costs $0.01 per minute. The quickstart shows how to connect an agent.
For iPhone and iPad on Mobilebox, sign up and book a 30-minute onboarding call; the API reference documents the platform: "ios" option.
Sources reviewed on November 4, 2026.