Publicar app iOS sem Mac: o guia com Expo e EAS
Por Mehdi Azizi
Atualizado em , 9 min
Num PC com Windows, o Expo e o EAS compilam e enviam seu app iOS para a Apple. O que funciona sem Mac, o que trava e por que você precisa de um iPhone.
Dá para publicar um app iOS sem Mac?
Dá. Você pode publicar um app iOS sem Mac se construir ele com Expo e React Native. O EAS Build compila seu app em Macs hospedados pela Expo, na nuvem, e o EAS Submit envia depois para o App Store Connect. A documentação da Expo deixa isso claro: o EAS Submit funciona no macOS, no Linux e no Windows, então você não precisa de um Mac para entregar uma build iOS.
Por outro lado, você precisa de três coisas que nada substitui: uma conta Apple Developer paga, um iPhone para testar seu app de verdade e um navegador para preencher a página do app no App Store Connect. O resto deste guia detalha o que funciona num PC com Windows, o que trava e a ordem das etapas.
Todos os meus apps iOS passam por essa cadeia: Expo, EAS Build e depois EAS Submit. Solys e TradaZen estão na App Store assim. Eu trabalho no Mac, mas nenhuma etapa da publicação depende dele: as builds são feitas na nuvem da Expo e o envio para a Apple passa pela linha de comando.
Como o Expo e o EAS substituem o Mac
Para entender o que é possível, você precisa saber por que o Mac era obrigatório. Um app iOS precisa ser compilado com o Xcode, a ferramenta da Apple, que só roda no macOS, numa versão recente o bastante para evitar a rejeição ITMS-90725. Depois ele precisa ser assinado com um certificado ligado à sua conta de desenvolvedor e enviado ao App Store Connect.
O Expo divide esse trabalho em três ferramentas:
- Expo e React Native: você escreve seu app em JavaScript ou TypeScript, em qualquer computador.
- EAS Build: você roda o comando no seu PC, o código vai para um Mac da Expo, que compila e assina o app para você. Você recebe um arquivo pronto para instalar ou enviar.
- EAS Submit: ele pega essa build e envia para o App Store Connect. Depois do processamento pela Apple, que verifica por exemplo o ícone (ITMS-90717), ela aparece no TestFlight.
O Mac continua existindo na cadeia. Só que ele não é mais o seu. Se você quer entender por que recomendo essa stack para iniciantes, leia a página React Native e Expo para um app mobile.
O que dá para fazer num PC com Windows
Programar o app
Todo o desenvolvimento acontece no Windows sem restrição: seu editor (VS Code, Cursor), Node.js, o terminal. Se você programa com a ajuda do Claude ou do ChatGPT, também não muda nada. Sobre isso, leia criar um app iOS com IA.
Ver seu app no iPhone enquanto programa
Para começar, o app Expo Go, instalado no seu iPhone, lê um QR code mostrado no terminal e carrega seu projeto. Cada alteração aparece no celular em poucos segundos. É ideal para as primeiras telas. Desde maio de 2026, a versão do Expo Go na App Store fica no SDK 54: crie seu projeto escolhendo a compatibilidade com ela, ou use eas go e o TestFlight para um SDK mais recente.
O Expo Go tem um limite: ele só contém os módulos nativos fornecidos pela Expo. Assim que seu app usa uma biblioteca nativa que não está lá, como o SDK do RevenueCat para assinaturas, você precisa de uma build de desenvolvimento: uma versão do seu próprio app, compilada pelo EAS Build, que você instala no iPhone.
Instalar uma build no iPhone sem passar pela App Store
O EAS oferece a distribuição interna. Você registra seu iPhone com o comando eas device:create e depois roda uma build com a distribuição internal. Você recebe um link de instalação. A Apple limita esse método: uma conta pode distribuir assim para no máximo 100 iPhones por ano, e cada aparelho novo exige uma nova build ou uma nova assinatura. Para você e algumas pessoas próximas, é mais que suficiente.
Gerenciar os certificados sem Xcode
A assinatura é o que mais trava iniciantes no Mac, até o erro ITMS-90034 no envio. Com o EAS, você entra na sua conta Apple pela linha de comando, e a ferramenta pode gerar sozinha o certificado de distribuição e o perfil de provisionamento. Você nunca abre o Acesso às Chaves.
Enviar o app para a Apple e publicar
eas submit --platform ios envia sua build para o App Store Connect. Você também pode encadear as duas etapas com a opção --auto-submit do eas build. Todo o resto acontece no navegador: a página na App Store, as capturas de tela, as declarações de privacidade, as assinaturas, o TestFlight e o envio para revisão. O App Store Connect é um aplicativo web, funciona muito bem no Windows.
O que não dá para fazer (ou fica mais difícil) sem Mac
O simulador iOS local
O simulador iOS faz parte do Xcode, então ele não roda no Windows. Na prática, não tem problema: seu iPhone é melhor que o simulador para testar. Em setembro de 2026 a Expo anunciou um simulador iOS na nuvem, o EAS Simulator, ainda com acesso limitado enquanto escrevo. Não monte sua rotina em cima dele enquanto não estiver aberto para todo mundo.
Depurar código nativo
Se um crash vem do código nativo (Swift, Objective-C, uma biblioteca mal configurada), as ferramentas de diagnóstico da Apple estão no Xcode. Sem Mac, você depende dos logs de build do EAS e de uma ferramenta como o Sentry, que reporta os crashes do app instalado. Dá para fazer, mas é mais lento. Por isso vale a pena, num primeiro app, ficar em bibliotecas compatíveis com o Expo e mantidas, o que também evita uma rejeição ITMS-90338 no envio.
Escrever extensões nativas na mão
Widgets, extensões de notificação, targets nativos específicos: é possível com Expo graças aos config plugins, mas sem o Xcode para inspecionar o projeto gerado, cada erro custa mais uma build. Para um primeiro app, deixe esses recursos para depois.
Compilar localmente
As builds locais do EAS (opção --local) não são suportadas no Windows. No PC, suas builds iOS passam então pela nuvem da Expo. O plano gratuito do EAS inclui um número limitado de builds por mês, com fila de espera: confira as condições atuais na página de preços da Expo antes de planejar uma semana de trabalho intenso.
A conta Apple Developer: obrigatória, sem exceção
Nenhum truque contorna isso, nem o Apple Developer Enterprise Program, reservado a apps internos de grandes organizações. Sem assinatura do Apple Developer Program, não tem App Store Connect, nem TestFlight, nem distribuição interna, e nem envio para a App Store. A assinatura custa 99 dólares por ano, cobrados na sua moeda.
Duas dicas antes de se inscrever:
- Escolha bem entre conta individual e organização. Na individual, é o seu nome que aparece como vendedor na App Store. Na de organização, é o nome da sua empresa, mas aí a Apple pede um número D-U-N-S e uma verificação mais demorada.
- Reserve alguns dias. A validação da conta nem sempre é imediata. Inscreva-se assim que souber que vai publicar, não na véspera do envio.
A necessidade real de um iPhone para testar
Tecnicamente, dá para publicar um app iOS sem nunca ter tido ele nas mãos. Eu desaconselho fortemente, e a Apple também: as diretrizes de revisão (guideline 2.1) pedem que o app tenha sido testado num aparelho, quanto a bugs e estabilidade, antes do envio. Seus usuários, por sua vez, só vão ter isso: um iPhone de verdade.
Veja o que só um iPhone de verdade mostra:
- A primeira abertura real, sem servidor de desenvolvimento: é aí que se escondem os crashes na inicialização.
- As compras no app em ambiente de teste, para verificar se seu paywall mostra os preços certos e se a assinatura desbloqueia mesmo o app.
- As notificações, a câmera, as vibrações, as permissões, que se comportam de outro jeito, ou nem funcionam, em outros lugares.
- O layout real: o notch ou a Dynamic Island, a barra de início, o teclado cobrindo um campo.
- A fluidez, que um computador potente muitas vezes esconde.
Um iPhone usado recente já basta, desde que rode uma versão do iOS suportada pela sua versão do SDK do Expo. E se puder, pegue emprestado também um iPhone de tamanho diferente: um app que cabe numa tela grande pode ficar cortado numa pequena. Foi exatamente isso que me rendeu uma rejeição no Solys, como conto em por que a Apple rejeita um app.
Sem Mac, dá. Sem iPhone, você envia para a Apple um app que nunca viu funcionando.
As etapas, em ordem, a partir do Windows
- Crie seu projeto com
npx create-expo-appe teste as primeiras telas com o Expo Go. - Instale o EAS CLI com
npm install -g eas-cli, depoiseas logineeas build:configure. - Inscreva-se no Apple Developer Program assim que o projeto tomar forma.
- Registre seu iPhone com
eas device:createe rode uma build de desenvolvimento. - Crie a página do app no App Store Connect, com o mesmo bundle identifier da sua configuração do Expo.
- Rode a build de produção com
eas build --platform ios. - Envie com
eas submit --platform iose teste no TestFlight. O guia TestFlight para testar seu app detalha essa etapa. - Preencha a página e envie para revisão pelo navegador. O texto promocional, por sua vez, pode mudar depois sem nova versão.
Três armadilhas aparecem com frequência nessa fase. O número da build precisa aumentar a cada envio: ative o incremento automático do EAS para não ter mais que pensar nisso. A pergunta sobre criptografia trava cada build enquanto você não responder: dá para declarar de uma vez por todas na configuração do app. E o bundle identifier precisa ser idêntico em todo lugar, senão o EAS Submit não encontra seu app. Para o resto, da página do app à aprovação, a página publicar um app na App Store cobre cada etapa.
Publicar seu primeiro app, sem Mac e sem se perder
O Mac não é mais o obstáculo de verdade. Os obstáculos de verdade estão em outro lugar: escolher um app que tenha chance de dar dinheiro, configurar assinaturas que funcionem, preparar um envio que a Apple aceite. É isso que cobre o percurso em quatro etapas do iOS Kit, para seguir no seu ritmo. Para o envio, o Apple Review Kit reúne meu checklist antes de enviar e as notas para o revisor. A página inicial mostra como criar um app mobile sem começar do zero com Expo e Claude Code, com Mac ou sem.
A decisão final de publicar seu app continua com a Apple, e nenhum kit pode garantir isso. O que eu posso te dar é o método que aplico nos meus próprios apps.
Perguntas frequentes
Como publicar um app iOS sem Mac?
Com Expo e React Native, um Mac hospedado pela Expo substitui o seu. Você programa em qualquer computador, o EAS Build compila e assina o app na nuvem, e depois o EAS Submit envia para o App Store Connect. Você também precisa de uma conta Apple Developer paga, um navegador para preencher a página do app e um iPhone para testar seu app de verdade.
Quais são as etapas para publicar um app iOS a partir do Windows?
Crie seu projeto com Expo, instale o EAS CLI e se inscreva no Apple Developer Program. Registre seu iPhone, rode uma build de desenvolvimento e depois crie a página do app no App Store Connect com o mesmo bundle identifier da sua configuração do Expo. Em seguida, rode a build de produção, envie com o EAS Submit e teste no TestFlight, depois preencha a página e envie o app para revisão pelo navegador.
Quanto custa publicar um app na App Store?
A assinatura do Apple Developer Program custa 99 dólares por ano, cobrados na sua moeda. Ela é obrigatória: sem ela, não tem App Store Connect, nem TestFlight, nem distribuição interna, nem envio para a App Store. Do lado da Expo, o plano gratuito do EAS inclui um número limitado de builds por mês, com fila de espera: confira as condições atuais na página de preços da Expo.
Preciso de um iPhone para publicar um app iOS sem Mac?
Tecnicamente não, mas eu desaconselho fortemente, e a Apple também: as diretrizes de revisão (guideline 2.1) pedem que o app tenha sido testado num aparelho quanto a bugs e estabilidade antes do envio. Um iPhone usado recente já basta, desde que rode uma versão do iOS suportada pela sua versão do SDK do Expo.
Como testar um app iOS sem Mac?
Instale o app Expo Go no seu iPhone: ele lê um QR code mostrado no terminal e carrega seu projeto, com cada alteração visível em poucos segundos. O Expo Go só contém os módulos nativos fornecidos pela Expo. Assim que seu app usa uma biblioteca nativa que não está lá, como o SDK do RevenueCat, você precisa de uma build de desenvolvimento compilada pelo EAS Build. Para testar a build final, leia TestFlight para testar seu app.
Quais são os limites do desenvolvimento iOS sem Mac?
Você não pode usar o simulador iOS localmente: ele faz parte do Xcode, então não roda no Windows. As builds locais do EAS (--local) não são suportadas no Windows: suas builds iOS passam pela nuvem da Expo. Depurar código nativo e escrever extensões nativas na mão continuam possíveis, mas mais difíceis, porque as ferramentas da Apple estão no Xcode.