>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Blockchain Beveiliging
Python

Hoe je Claude Code leert om een iOS Simulator te besturen

1.130 sterren

Stel je voor: je zit aan de terminal, chat met Claude Code, en in plaats van handmatig Xcode te openen, de juiste knop in de simulator te zoeken, of logs van de console te kopiëren, schrijf je simpelweg: "Kijk hoe het inlogscherm eruitziet op iPhone 15 en tik op de aanmeldknop." En de AI doet het. Klinkt als magie, maar in werkelijkheid is het het werk van de ios-simulator-skill scriptcollectie.

Ik stuitte op deze repository toen ik zocht naar een manier om agentic AI te integreren met mobiele ontwikkeling. De projectauteur, Conor Ladhy, stelde 22 Python- en Bash-scripts samen die Claude omtoveren tot een volwaardig QA-engineer of ontwikkelingsassistent die in staat is om de interface van een app te "zien" en ermee te interageren.

Waarom de moeite nemen als je Xcode hebt

Meestal verandert de interactie van een AI-agent met een iOS-project in een nachtmerrie door enorme bouwlogboeken en zware schermafbeeldingen. Als je de standaarduitvoer xcodebuild aan Claude voedt, wordt het contextvenster binnen enkele seconden overspoeld met rommel.

Dit project lost het probleem elegant op. De scripts fungeren als een filter: ze voeden het neurale netwerk alleen met het essentiële. In plaats van 400 regels aan authenticatielogs krijgt Claude 15 regels aan schone tekst. Dit bespaart tokens en, nog belangrijker, voorkomt dat het model "hallucineert" door informatie-overbelasting.

Wat deze toolset kan doen

Het project pakt twee hoofd taken aan: de app bouwen en de simulator manipuleren.

Slim bouwen zonder het lawaai

Het build_and_test.py script wrapped de standaard Apple-tools. Wanneer je een build uitvoert, ziet Claude alleen een korte statusregel en een resultaat-ID. Als er iets misgaat, kan het model specifiek errors of waarschuwingen voor dat ID opvragen. Dit wordt progressieve gegevensonthulling genoemd — we dumpen niet alles in één keer, maar leveren details op aanvraag.

Dit is waarschijnlijk de coolste functie. In plaats van te proberen knopcoördinaten op een schermafbeelding te raden (wat vaak tot missers leidt), gebruiken de scripts de iOS Accessibility API. Claude zoekt naar elementen op basis van hun semantische betekenis. Een commando om de tekst "Inloggen" te vinden en erop te klikken werkt betrouwbaarder dan klikken op coördinaten x: 320, y: 400. Bovendien kost een tekstuele beschrijving van de elementboom honderden keren minder tokens dan een afbeelding.

Schermafbeelding-optimalisatie

Als je niet zonder visuele verificatie kunt (bijvoorbeeld als je design moet vergelijken of een layout-bug moet vinden), comprimeren en schalen de scripts schermafbeeldingen automatisch. Dit vermindert de contextbelasting met 90-95%.

Hoe het onder de motorkap werkt

De repository bevat een heleboel Python-scripts die xcrun simctl en idb (een Facebook-tool voor iOS-automatisering) aanroepen.

Hier zijn een paar interessante tools uit de lijst:

  • screen_mapper.py — analyseert het scherm en stelt een lijst samen van alle interactieve elementen.
  • gesture.py — kan swipes, pincées uitvoeren en zelfs pull-to-refresh.
  • privacy_manager.py — hiermee kun je een app machtigingen geven voor foto's, contacten of locatie met één commando. Dit is ongelooflijk handig voor geautomatiseerde tests waar je voorheen handmatig door systeemmeldingen moest klikken.

Interessant is dat de auteur zelfs accessibility_audit.py heeft toegevoegd voor het controleren van app-conformiteit met WCAG-standaarden. Claude kan door schermen lopen en je vertellen waar je bent vergeten labels voor VoiceOver toe te voegen.

Hoe je het zelf kunt draaien

Het project wordt gepresenteerd als een "skill" voor Claude Code, maar in werkelijkheid is het een set standalone scripts die ook apart kunnen worden gebruikt.

Als je Claude Code gebruikt, ziet de installatie er zo uit:

/plugin marketplace add conorluddy/ios-simulator-skill
/plugin install ios-simulator-skill@conorluddy

De afhankelijkheden die je nodig hebt, zijn Xcode Command Line Tools, Python 3 en bij voorkeur idb (geïnstalleerd via brew). Als je van plan bent schermafbeeldingen te vergelijken, installeer dan ook de Pillow-bibliotheek via pip.

Praktische voordelen

Voor wie is dit nuttig? Allereerst voor degenen die routinematige taken willen automatiseren. Je kunt Claude bijvoorbeeld vragen om:

  1. "Bouwen het project, start het op iPhone 14 Pro en maak schermafbeeldingen van alle schermen voor documentatie."
  2. "Zoek uit waarom de test crasht bij de autorisatiestap en toon me alleen logs van de laatste 2 minuten."
  3. "Controleer hoe de app zich gedraagt met trage internetverbinding en uitgeschakelde geolocatie."

In de eigen tests van de auteur toonde de Claude + ios-simulator-skill combinatie 100% scenariovoltooiing, terwijl "naakt" Claude zonder deze tools minder dan de helft van de tijd slaagde.

Is het de moeite waard om te proberen

Als je een iOS-ontwikkelaar bent en al begonnen bent met het integreren van AI-agents in je workflow, dan is dit project een must-have. Het verwijdert de belangrijkste pijnpunt: de onverenigbaarheid van uitgebreide Apple-tools met de beknoptheid die taalmodellen nodig hebben.

Natuurlijk vereist het project omgevingsinstellingen, en idb kan soms lastig zijn op nieuwe macOS-versies, maar het idee van het besturen van een simulator via een semantische elementboom is precies hoe moderne automatisering eruit zou moeten zien. De scripts zijn eenvoudig geschreven, je kunt ze gemakkelijk aanpassen voor je eigen behoeften, of je kunt alleen wat je nodig hebt extraheren voor je CI/CD-pipelines.

Gerelateerde projecten