mirror of
https://github.com/callstack/agent-device.git
synced 2026-09-14 20:06:34 +08:00
b79bd86017
* fix: remove trailing commas in Swift for Xcode <16.3 compatibility Remove trailing commas from function/initializer argument lists in the iOS XCUITest runner Swift source files. SE-0439 trailing commas in comma-separated lists require Swift 6.1+ (Xcode 16.3+), but the runner is compiled locally by users who may have older Xcode versions. Users with Xcode 16.2 (Swift 6.0.3) encounter build failures: error: unexpected ',' separator This causes the runner to never start, surfacing as: Error (COMMAND_FAILED): Runner did not accept connection (simctl spawn) Files fixed (12 trailing commas removed): - RunnerTests+Snapshot.swift (5) - RunnerTests+Transport.swift (2) - RunnerTests+CommandExecution.swift (1) - RunnerTests+ScreenRecorder.swift (2) - RunnerTests.swift (2) Verified: pnpm build:xcuitest passes (TEST BUILD SUCCEEDED). * ci: guard iOS runner trailing-comma syntax --------- Co-authored-by: Michał Pierzchała <thymikee@gmail.com>
agent-device iOS Runner
This folder is reserved for the lightweight XCUITest runner used to provide element-level automation on iOS.
Intent
- Provide a minimal XCTest target that exposes UI automation over a small HTTP server.
- Allow local builds via
xcodebuildand caching for faster subsequent runs. - Support simulator prebuilds where compatible.
Status
Planned for the automation layer. See docs/ios-automation.md and docs/ios-runner-protocol.md.
UITest Runner File Map
AgentDeviceRunnerUITests/RunnerTests is split into focused files to reduce context size for contributors and LLM agents.
RunnerTests.swift: shared state/constants,setUp(), andtestCommand()entry flow.RunnerTests+Models.swift: wire protocol models (Command,Response, snapshot payload models).RunnerTests+Environment.swift: environment and CLI argument helpers (RunnerEnv).RunnerTests+Transport.swift: TCP request handling and HTTP parsing/encoding.RunnerTests+CommandExecution.swift: command dispatch (execute*) and command switch.RunnerTests+Lifecycle.swift: activation/retry/stabilization and recording lifecycle helpers.RunnerTests+Interaction.swift: tap/drag/swipe/type/back/home/app-switcher helpers.RunnerTests+Snapshot.swift: fast/raw snapshot builders and include/filter helpers.RunnerTests+SystemModal.swift: SpringBoard/system modal detection and modal snapshot shaping.RunnerTests+ScreenRecorder.swift: nestedScreenRecorderimplementation.