Pitch: publiquei um jogo no iPhone sem ter Mac nem iPhone
Sou o Leo, arquiteto de software com mais de 20 anos de experiência e dev solo do Melbees.
O jogo é um desafio diário de palavras no estilo do Termo, com a lógica do Campo Minado e o conhecimento geral da Forca. Raciocínio acima da sorte, vários caminhos para resolver. Ele já rodava no Android, no Windows e no navegador. Faltava o iPhone, e eu não tenho Mac nem iPhone. Foi assim:
1. Compilar sem Mac. O jogo é Flutter/Dart, então o mesmo código serve ao iOS. A compilação e a assinatura rodam na nuvem, no Codemagic, dentro dos minutos grátis.
2. TestFlight interno para conferir que o build abria antes de mandar para a revisão.
3. Primeira recusa (21/10), diretriz 3.1.2: faltava o link dos termos de uso (EULA) na descrição da loja. O link entrou na descrição e o build seguiu o mesmo.
4. Segunda recusa (23/10), diretriz 2.1: a revisão não achou o pedido de permissão de rastreamento (ATT). O app passou a perguntar logo na abertura, e a prova foi uma gravação num iPhone de verdade, feita por uma pessoa da família. Sem aparelho, a parte difícil não é compilar: é mostrar o app rodando.
5. Aprovado em 27/10, com liberação manual.
Como o jogo é feito. Toda regra vira spec escrita antes do código, e a spec vence quando discorda do código, porque o agente só sabe o que está escrito. O código é escrito por agentes de IA: o Claude Code vai da issue ao plano, ao código e aos testes, e o OpenAI Codex e o Google Antigravity revisam, cada um por conta própria, primeiro o plano e depois o código. Eu especifico as interfaces e os contratos e desenho os diagramas de classe e de sequência antes, e nenhum agente muda a arquitetura sem o meu ok. Mais de 10 mil testes automáticos precisam passar, e no fim eu leio as partes críticas e jogo a versão candidata no celular.
Stack: Flutter/Dart para Android, Windows, iPhone e o navegador (WasmGC); um núcleo em Dart puro e determinístico (mesma semente, mesmo favo); o servidor em Dart no Google Cloud Run, com PostgreSQL, rejoga a partida para conferir um tempo.
O que aprendi:
- A organização e a estrutura do repositório, architecture-driven, são o que determinam a qualidade.
- Passando de 10 mil cenários de teste, ter um mecanismo determinístico para decidir quais testes rodar a cada mudança pode economizar horas de devops.
O Desafio diário é grátis no navegador, o mesmo favo para todo mundo no mesmo idioma:
https://diario.melbees.games/?utm_source=tabnews&utm_medium=forum&utm_campaign=ios
iPhone: https://apps.apple.com/br/app/melbees-the-secret-of-bees/id6824653080