Skip to content

[Feature Request] Support for iOS Simulators #288

@groooooomit

Description

@groooooomit

Description

Currently, GADS is a powerful solution for physical device management. However, it currently lacks support for iOS Simulators.

Adding simulator support would significantly enhance GADS by allowing users to:

  1. Optimize Resources: Run automated tests on virtual devices when physical hardware is unavailable or unnecessary.
  2. Unified Dashboard: Manage both physical iPhones and local/remote iOS Simulators from a single web interface.
  3. CI/CD Integration: Provide a visual debugging interface for simulators running in headless CI environments.

Technical Reference: Appium Inspector

I would like to highlight that Appium Inspector (and the appium-xcuitest-driver) already provides excellent support for iOS Simulators. It handles screen mirroring and touch interactions very smoothly.

Since GADS already implements a sophisticated provider/device architecture, leveraging similar logic to Appium—such as using xcrun simctl for device lifecycle and screen streaming—could be a viable path to bring simulator support to GADS without reinventing the wheel.

Proposed Implementation Ideas

  • Discovery: Use xcrun simctl list --json to detect booted or available simulators on the host Mac.
  • Streaming: For simulators, GADS could potentially use xcrun simctl io record-video (with pipe output) or a frame-buffer capture approach similar to how Appium Inspector mirrors the simulator screen.
  • Input Injection: Map web-based coordinates to xcrun simctl pinpoint or use the WDA (WebDriverAgent) which also runs on simulators.

Additional Context

Since GADS-Android already shows some compatibility with Android Emulators, bringing iOS Simulators to parity would make GADS the most comprehensive open-source "Device Farm" solution available.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions