Skip to content

Add an injectable Apple interactor transport seam for direct providers #1297

Closed

Description

@thymikee

Problem

Direct iOS providers such as Limrun currently need a provider-specific interactor because the Apple interactor is coupled to local XCTest runner and simctl execution. Android already has the desired shape: providers supply an AndroidAdbProvider transport and reuse the shared Android interactor.

Scope

Introduce a provider-neutral Apple runner/interaction transport seam that lets a remote provider supply the primitives needed by the shared Apple interaction stack. Keep local XCTest and simctl behavior unchanged behind the default implementation.

Do not move Limrun-specific SDK calls, asset handling, or session lifecycle into core. The target is reusable interaction composition for future providers such as Revyl.

Acceptance criteria

  • Provider-owned iOS sessions can reuse the shared selector, tap, fill, scroll, snapshot, and response-guarantee paths where the provider exposes equivalent primitives.
  • Local iOS/macOS behavior and runner ownership remain unchanged.
  • The seam remains provider-neutral and does not import Limrun SDK code into Apple core.
  • Contract and provider-integration tests cover the provider-backed path.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions