Skip to main content
Neste tutorial, Devin cria um pequeno rastreador de hábitos em SwiftUI a partir de um repositório vazio. Devin escreve o código, faz o build com o Xcode, executa o app no iOS Simulator e abre um PR. Você acompanha o trabalho, revisa o resultado e depois pede que Devin publique um build beta no TestFlight.
Devin criando um jogo iOS em uma VM macOS

Antes de começar

  • VMs macOS: as sessões do Devin precisam rodar no macOS. Se você usa um deployment Dedicated SaaS, peça ao seu account team para ativar as VMs macOS. Veja suporte a macOS.
  • Um repositório: crie um repositório vazio (por exemplo, habit-tracker) e conceda acesso a ele ao Devin por meio da sua integração com o Git.
  • Modo Desktop: ative Enable desktop mode em Configurações > Personalização para que o Devin consiga interagir com o Simulator e gravar seus testes. Veja Computer Use.
As sessões no macOS têm o mesmo uso que as sessões no Linux. Não há custo adicional para macOS.

Etapa 1: Peça ao Devin para fazer o build do app

Inicie uma nova sessão no repositório escolhido e escolha macOS no menu de plataforma abaixo da caixa de prompt. O Xcode, o iOS Simulator e o Homebrew já vêm pré-instalados, então não é preciso configurar nada antes.
No Slack, adicione o bang command !mac à sua mensagem. Pela API, defina platform: "macos" ao criar uma sessão.
Dê ao Devin um prompt específico que cubra os recursos do app, as ferramentas e como comprovar que tudo funciona. Veja um exemplo:
Um bom prompt para iOS:
  • Informa a versão da plataforma e os frameworks, para que o Devin não precise adivinhar o deployment target ou a arquitetura.
  • Informa o dispositivo do simulador, para que os comandos de build usem um destino que exista na VM.
  • Descreve um fluxo de verificação concreto, para que o Devin teste o comportamento que importa para você, em vez de apenas verificar se o código compila.

Etapa 2: Acompanhe o Devin compilar e testar

O Devin resolve a tarefa como um desenvolvedor iOS faria:
  1. Monta a estrutura do projeto: escreve o project.yml, as views SwiftUI, o modelo de hábitos e o target de testes e, em seguida, executa xcodegen generate.
  2. Compila e corrige erros: executa o xcodebuild pelo shell, lê a saída do compilador e corrige os erros até que o build e os testes passem.
  3. Executa o app no Simulator: inicializa o dispositivo, instala e abre o build:
  4. Testa o fluxo que você descreveu: navega pelo app com Computer Use, confere o resultado na tela e grava a execução.
  5. Abre uma PR com o resumo e a captura de tela.
Abra a aba iOS Simulator no workspace da sessão para acompanhar ao vivo o simulador em execução enquanto o Devin navega pelo app.
Se o build não encontrar um destino, peça ao Devin para executar xcrun simctl list devices available e usar um dispositivo e um sistema operacional que a VM realmente tenha.

Etapa 3: Revise e itere

Revise o PR como faria com qualquer outro. Verifique se a captura de tela e a gravação correspondem ao que você solicitou. Em seguida, continue o desenvolvimento na mesma sessão com prompts de acompanhamento:
Você também pode deixar comentários de revisão no PR, e o Devin responde a eles enquanto a sessão estiver ativa. Consulte Integração com GitHub e Devin Review.

Etapa 4: Publique um beta no TestFlight

Assim que o app funcionar no Simulator, o Devin pode arquivá-lo, assiná-lo e importar o build para o TestFlight, para que os testadores possam instalá-lo em dispositivos reais. Isso exige uma configuração inicial única, feita por você. O guia Importar builds do iOS para o TestFlight detalha cada etapa:
  1. Configure o App Store Connect: aceite os contratos, registre o bundle ID, crie o registro do app, crie um grupo beta e responda ao questionário de conformidade de exportação.
  2. Crie uma chave de API do App Store Connect e baixe o arquivo .p8.
  3. Adicione os segredos no Devin: ASC_KEY_ID, ASC_ISSUER_ID, ASC_PRIVATE_KEY e APPLE_TEAM_ID.
  4. Libere o acesso à rede aos servidores da Apple, caso sua organização use uma política de rede restritiva.
Use o mesmo bundle ID no project.yml e no App Store Connect. Se o Devin escolheu um bundle ID de exemplo na Etapa 1, peça que ele atualize o projeto antes.
Depois, inicie uma nova sessão para que os segredos fiquem disponíveis e peça ao Devin:
Devin grava a chave de API em disco, arquiva o app com xcodebuild archive e faz a importação com xcodebuild -exportArchive. Em seguida, adiciona a build processada ao grupo beta. Para reutilizar essas etapas sem repeti-las em cada prompt, adicione uma entrada testflight à seção knowledge do blueprint. Veja Salve as etapas no seu blueprint.

Dicas

  • Fixe a toolchain: as imagens do macOS incluem mais de uma versão do Xcode. Use DEVELOPER_DIR ou xcode-select no blueprint para escolher uma. Veja Selecionar uma versão do Xcode.
  • Armazene credenciais como segredos: chaves de API do App Store Connect, certificados de assinatura e tokens de registros privados de pacotes devem ficar em Segredos. O Devin os lê como variáveis de ambiente.
  • Libere os registros de pacotes: se a sua organização usa uma política de rede restrita, garanta que a lista de permissões do macOS inclua o Swift Package Manager, o CocoaPods ou quaisquer registros privados usados pelo seu app. Veja Acesso à rede.
  • Reinicie o Simulator ao retomar a sessão: quando uma sessão entra em suspensão e é retomada, os arquivos permanecem, mas os processos em execução não. Peça ao Devin para iniciar o Simulator novamente antes de testar.
  • Peça evidências: peça capturas de tela ou uma gravação de telas específicas para conferir a UI sem precisar executar o app você mesmo.

Limitações

  • O Devin executa apps em simuladores, não em iPhones ou iPads físicos. Para testar em um dispositivo, instale um build via TestFlight.
  • Resultados de medição de tempo e profiling dentro de uma VM não refletem o desempenho real em dispositivos.
  • Contêineres rodam sob emulação por software em VMs macOS, portanto tarefas que dependem muito de contêineres ficam lentas.
Consulte limitações do suporte a macOS para mais detalhes.

Próximos passos

Importações para o TestFlight

Configuração do App Store Connect, chaves de API e segredos para importar builds

Suporte ao macOS

Opções de blueprint, ferramentas pré-instaladas e solução de problemas para sessões no macOS

Testes e gravações

Como o Devin testa o seu app e registra os resultados