Real-device iOS testing with video, logs and network traces
Semaloop runs your iOS tests on real iPhones, from the iPhone 14 upwards on iOS 18 and later, and returns video, system logs and network traces with every run.
What you get
- Real iPhones, iPhone 14 and newer, on iOS 18 through the latest release
- Push notifications, the camera and sandbox in-app purchases, which simulators cannot do
- Video, system logs, network traffic, audio capture and an interaction timeline on every run
- TestFlight builds run on real devices with nothing to trigger by hand
- Real iPhone and simulator runs side by side, so each test can use the one that fits
- Physical devices run by Semaloop, so you do not provision or maintain any hardware
What real iPhones catch that simulators do not
Simulators are useful early in development, but they share the host's networking stack, use a case-insensitive filesystem and cannot do several things your app depends on. Real devices are where those failures show up.
| Capability | Real iPhone | Simulator |
|---|---|---|
| TestFlight builds | Yes | No |
| Push notifications | Yes | No |
| Camera | Yes | No |
| Sandbox in-app purchases | Yes | No |
| Phone number and SMS codes | Yes | No |
| Voice input and audio capture | Yes | No |
| Network conditions and airplane mode | Yes | No |
| Face ID and Touch ID | No | Yes |
| Production-matching filesystem | Yes, case-sensitive | No, case-insensitive |
Push notifications, camera, purchases and permissions
Push notifications and the camera work on real iPhones only. A test can check that a notification arrives and that the destination behind it opens, and can use the camera where your app does.
In-app purchases and subscriptions run through Apple sandbox accounts, stored as sandbox secrets. Each concurrent run claims its own account, so provision as many as the tests you run in parallel. Sandbox accounts are available on real iPhones, not on simulators or Android emulators.
System permission prompts appear as screens in the run, and the agent responds to them the way a person would, which means a test can cover first launch, a denied permission and a granted one. Face ID and Touch ID are the one common exception: they are supported on iOS simulators, not on real iPhones.
What you get back from every run
Every run keeps the evidence needed to reproduce a problem, without asking anyone to rerun it.
- A high-FPS video replay of the whole run, with audio where there was microphone input or media playback
- An interaction timeline: each step the agent took, with its reasoning
- System logs, which can be downloaded from the dashboard
- Network activity: responses, headers and timings
- Issues the agent noticed along the way, such as a slow screen or clipped text
- On a failure, a root cause analysis and a suggested fix
Getting a build onto a real iPhone
The most common route is TestFlight. Semaloop's agents join your external group by public link or email invite, or your internal group, and pick up each new build as you make it available. TestFlight builds always run on real devices.
If you would rather not use TestFlight, push an .ipa signed with Semaloop's device IDs using the CLI, the GitHub Action or the upload API. A .app runs on a simulator instead. Setting up a new app is not self-serve yet, so contact the team first.
Limits worth knowing
Real-device coverage starts at iOS 18 and iPhone 14. An app that supports older versions can still be tested, but only on those versions. Android tests run on Android 15 emulators today, so the hardware-dependent rows above do not apply there. The supported platforms page has the full matrix.
For UK teams
To check a UK launch, ask the agent to set the device region and a GPS location, for example a named London address, so pound sterling formatting, UK date formats and location-based flows are covered on the same real device.
Frequently asked questions
Last reviewed: 26 October 2026
Does Semaloop test on real iPhones?
Yes. iOS tests run on real physical iPhones that Semaloop manages, from the iPhone 14 to the latest models, on iOS 18 through the latest release. Simulators are also available where they fit better.
Can Semaloop test push notifications on iOS?
Yes, on real iPhones. Push notifications do not work on simulators or Android emulators. A test can check that a notification arrives and that the screen behind it opens.
Can Semaloop test in-app purchases and subscriptions?
Yes, on real iPhones, using Apple sandbox accounts stored as secrets. Each concurrent run claims its own account, so keep at least as many accounts as tests you run in parallel.
What does a failed iOS run give me to debug with?
A high-FPS video replay, an interaction timeline with the agent's reasoning, system logs, network activity, and a root cause analysis with a suggested fix. Logs can be downloaded, and a coding agent can read all of it over the MCP server.
Can Semaloop test Face ID on a real iPhone?
Not today. Face ID and Touch ID are supported on iOS simulators, where the agent can enrol a biometric and send a matching or non-matching one. They are not supported on real iPhones.
Do I need to own or manage any devices?
No. Semaloop runs and maintains its own physical devices. You connect your app through TestFlight or by pushing a build, and runs are scheduled across the agents on your plan.