An Xcode plugin and Swift package that lets you control an iPhone from your Mac for recording and replaying touch macros during development.
Remote is an Xcode plugin and Swift package that allows iOS developers to control an iPhone from their Mac during development. It enables recording and replaying touch interactions as macros, performing snapshot-based end-to-end testing, and capturing screen output as videos. The tool solves the problem of constantly picking up physical devices for testing by providing a remote control interface within Xcode.
iOS developers working in Xcode who need to test applications on physical iPhones without constant device handling. It's particularly useful for developers creating automated UI tests or requiring reproducible touch sequences.
Developers choose Remote because it integrates directly with Xcode, eliminates physical device handling during testing, and provides macro recording with snapshot validation for reliable end-to-end testing. Unlike simulators, it works with actual devices while offering automation capabilities typically requiring additional testing frameworks.
Control your iPhone from inside Xcode for end-to-end testing.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Record and replay touch sequences as editable macros in a WebView, enabling consistent and reproducible testing without physical device handling.
Compare screen output against saved snapshots during macro replay with configurable tolerance, providing reliable end-to-end UI testing.
Interact with an iPhone through a Mac window in Xcode, eliminating the need to physically handle the device during development.
Capture all display output into QuickTime movies directly from the tool, useful for debugging or documentation.
Requires patching main.m, adding Swift packages, and managing network connections, which can be error-prone and time-consuming compared to simpler tools.
Cannot capture video replay, OpenGL layers, UIAlertView prompts, or UIDatePickers correctly, limiting its effectiveness for certain UI elements.
Takes about a minute after Xcode restart for remote connections to establish due to firewall issues, disrupting immediate testing workflows.