← Reddit

Eval/Verifiability for iOS Apps in Claude Code

Reddit · thebemusedmuse · May 24, 2026
I've been spending time lately on autonomous coding loops for Claude. If the software is easily verifiable, like an API, you can create evals for that and set Claude to build it. What I normally do is create large projects in GitHub and build out tens or

Detailed Analysis

A developer working with Claude Code has surfaced a significant practical challenge in autonomous AI-assisted software development: the difficulty of creating reliable evaluation loops for iOS applications. The post describes an established workflow where the developer uses Claude to autonomously build software by defining large project structures in GitHub, breaking work into tens or hundreds of discrete issues, and letting Claude iterate through them — a workflow that functions well for backend or API-based systems where correctness is programmatically verifiable. The core problem emerges specifically with iOS apps, where the developer reports consistently becoming "the eval" themselves, serving as the manual verification layer in a process that ideally should be fully automated.

The technical friction identified centers on XCUITest, Apple's UI testing framework, which the developer describes as brittle in the context of rapidly evolving AI-generated code. As Claude modifies the application's interface or behavior during autonomous development cycles, XCUITest scripts quickly fall out of sync with the actual state of the application. This creates a maintenance burden that undermines the efficiency gains of autonomous development — the developer ends up spending significant time repairing the evaluation harness rather than producing new software. This fragility is a well-known criticism of UI-level testing in general, but it becomes especially acute when the codebase is being modified at the speed and volume that an agentic AI system enables.

The broader issue the post surfaces is a fundamental asymmetry in the verifiability of different software domains. APIs and backend systems expose clear, machine-readable contracts — endpoints return structured data, functions have deterministic outputs, and test suites can assert correctness with high confidence. Graphical user interfaces, by contrast, involve spatial layout, visual hierarchy, gesture interactions, and platform-specific rendering behaviors that are far harder to specify and verify programmatically. This makes UI-heavy platforms like iOS structurally more resistant to the kind of tight feedback loops that make agentic coding systems powerful.

This challenge reflects a wider tension in the current trajectory of AI coding agents. Tools like Claude Code, GitHub Copilot Workspace, and Devin are increasingly capable of operating over long autonomous horizons, but their effectiveness is tightly coupled to the availability of reliable, automated feedback signals. The field has made substantial progress in domains where ground truth is cheap to compute — competitive programming, unit-tested libraries, REST API services — but the gap between AI capability and practical autonomy widens considerably when dealing with platforms where evaluation requires human perception or is mediated by unstable tooling. The developer's question about whether others have cracked this problem implicitly acknowledges that no clean solution currently exists at the community level.

The post represents a meaningful data point about the frontier of practical agentic development workflows. As Claude and similar systems grow more capable of sustained autonomous action, the bottleneck increasingly shifts from raw code generation quality to the scaffolding humans must build around those systems to make their outputs trustworthy. Solving the iOS eval problem — whether through more robust snapshot testing, AI-assisted test generation that updates alongside the code, or novel simulation-based verification approaches — would meaningfully extend the domains in which fully autonomous development loops become viable, and is likely to become an active area of tooling development as agentic coding use cases continue to expand.

Read original article →