>_ DevTrendspt

Idioma

Início

Linguagens

Seções

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Segurança
Python

Como Ensinar o Claude Code a Controlar um Simulador iOS

1.130 estrelas

Imagine: você está sentado no terminal, conversando com o Claude Code, e em vez de abrir manualmente o Xcode, procurar o botão certo no simulador ou copiar logs do console, você simplesmente escreve: "Verifique como a tela de login fica no iPhone 15 e toque no botão de entrar." E a IA faz isso. Parece mágica, mas na realidade é o trabalho da coleção de scripts ios-simulator-skill.

Encontrei esse repositório procurando uma forma de integrar IA agentiva com desenvolvimento mobile. O autor do projeto, Conor Ladhy, reuniu 22 scripts em Python e Bash que transformam o Claude em um engenheiro de QA ou assistente de desenvolvimento completo, capaz de "ver" a interface de um app e interagir com ele.

Por Que Se Preocupar Se Você Tem o Xcode

Normalmente, a interação de um agente de IA com um projeto iOS se transforma em um pesadelo devido aos logs massivos de build e capturas de tela pesadas. Se você alimentar o Claude com a saída padrão xcodebuild, a janela de contexto é inundada com sujeira em poucos segundos.

Este projeto resolve o problema de forma elegante. Os scripts funcionam como um filtro: alimentam a rede neural apenas com o essencial. Em vez de 400 linhas de logs de autenticação, o Claude recebe 15 linhas de texto limpo. Isso economiza tokens e, mais importante ainda, impede o modelo de "alucinar" devido à sobrecarga de informações.

O Que Este Conjunto de Ferramentas Pode Fazer

O projeto aborda duas tarefas principais: construir o app e manipular o simulador.

Build Inteligente Sem o Ruído

O script build_and_test.py envolve as ferramentas padrão da Apple. Quando você executa um build, o Claude vê apenas uma linha curta de status e um ID de resultado. Se algo der errado, o modelo pode solicitar especificamente erros ou avisos para esse ID. Isso é chamado de divulgação progressiva de dados — não despejamos tudo de uma vez, mas fornecemos detalhes sob demanda.

Esta é provavelmente a funcionalidade mais interessante. Em vez de tentar adivinhar coordenadas de botões em uma captura de tela (o que frequentemente resulta em erros), os scripts usam a API de Acessibilidade do iOS. O Claude pesquisa elementos por seu significado semântico. Por exemplo, um comando para encontrar o texto "Login" e clicar nele funciona de forma mais confiável do que clicar em coordenadas x: 320, y: 400. Além disso, uma descrição textual da árvore de elementos ocupa centenas de vezes menos tokens do que uma imagem.

Otimização de Capturas de Tela

Se você não consegue abrir mão da verificação visual (por exemplo, precisa comparar design ou encontrar um bug de layout), os scripts comprimem e redimensionam automaticamente as capturas de tela. Isso reduz a carga de contexto em 90-95%.

Como Funciona nos Bastidores

O repositório contém vários scripts Python que chamam xcrun simctl e idb (uma ferramenta do Facebook para automação iOS).

Aqui estão algumas ferramentas interessantes da lista:

  • screen_mapper.py — analisa a tela e compila uma lista de todos os elementos interativos.
  • gesture.py — pode realizar swipes, pinches e até pull-to-refresh.
  • privacy_manager.py — permite conceder permissões a um app para fotos, contatos ou localização com um único comando. Isso é extremamente conveniente para testes automatizados onde antes você precisava clicar manualmente através de alertas do sistema.

Curiosamente, o autor até adicionou accessibility_audit.py para verificar a conformidade do app com os padrões WCAG. O Claude pode percorrer as telas e dizer onde você esqueceu de adicionar rótulos para o VoiceOver.

Como Executar Você Mesmo

O projeto é posicionado como uma "skill" para o Claude Code, mas na verdade é um conjunto de scripts independentes que também podem ser usados separadamente.

Se você estiver usando o Claude Code, a instalação fica assim:

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

As dependências que você vai precisar são Xcode Command Line Tools, Python 3 e preferencialmente idb (instalado via brew). Se você planeja comparar capturas de tela, também instale a biblioteca Pillow via pip.

Benefícios Práticos

Para quem isso é útil? Em primeiro lugar, para quem quer automatizar tarefas rotineiras. Por exemplo, você pode pedir ao Claude para:

  1. "Faça o build do projeto, lance-o no iPhone 14 Pro e tire capturas de tela de todas as telas para documentação."
  2. "Descubra por que o teste crasha na etapa de autorização e mostre-me apenas os logs dos últimos 2 minutos."
  3. "Verifique como o app se comporta com internet lenta e geolocalização desativada."

Nos testes do próprio autor, a combinação Claude + ios-simulator-skill mostrou 100% de conclusão de cenários, enquanto o Claude "puro" sem essas ferramentas conseguiu menos da metade das vezes.

Vale a Pena Experimentar

Se você é um desenvolvedor iOS e já começou a integrar agentes de IA no seu fluxo de trabalho, então este projeto é indispensável. Ele remove o principal ponto de dor: a incompatibilidade das ferramentas verbosas da Apple com a concisão que os modelos de linguagem precisam.

Claro, o projeto requer configuração do ambiente, e idb às vezes pode ser instável em novas versões do macOS, mas a ideia de controlar um simulador através de uma árvore de elementos semânticos é exatamente o que a automação moderna deveria parecer. Os scripts são escritos de forma simples, são fáceis de adaptar às suas necessidades, ou você pode extrair apenas o que precisa para seus pipelines de CI/CD.

Projetos relacionados