# Publicar app iOS sem Mac: o guia com Expo e EAS

> 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.

Página original: [Publicar app iOS sem Mac: o guia com Expo e EAS](https://devoria.fr/pt-br/blog/publicar-app-ios-sem-mac-expo-eas)
Autor: [Mehdi Azizi](https://devoria.fr/pt-br/mehdi-azizi)
Publicação: 2026-09-23
Última revisão do conteúdo: 2026-10-09


## 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](https://docs.expo.dev/submit/ios/).

Por outro lado, você precisa de três coisas que nada substitui: uma [conta Apple Developer paga](https://devoria.fr/pt-br/blog/conta-desenvolvedor-apple-preco), 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](https://devoria.fr/pt-br/blog/eas-submit-ios-publicar-app-expo-app-store)**: 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](https://devoria.fr/pt-br/expertise/app-mobile-react-native-expo).

## 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](https://devoria.fr/pt-br/blog/criar-app-com-ia-armadilhas-verificacoes).

### 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](https://expo.dev/changelog/expo-go-and-app-store-may-2026): 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](https://docs.expo.dev/build/internal-distribution/), 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](https://docs.expo.dev/build/setup/). 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](https://devoria.fr/pt-br/blog/tamanho-screenshot-app-store-medidas), 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](https://expo.dev/blog/build-ios-apps-on-windows-with-cloud-simulators), 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](https://docs.expo.dev/build-reference/local-builds/). 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](https://devoria.fr/pt-br/blog/assinatura-apple-developer-renovacao-cancelamento), não tem App Store Connect, nem TestFlight, nem distribuição interna, e [nem envio para a App Store](https://developer.apple.com/support/compare-memberships/). A assinatura custa [99 dólares por ano](https://developer.apple.com/help/account/membership/programs-overview/), 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](https://developer.apple.com/app-store/review/guidelines/) (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](https://devoria.fr/pt-br/blog/app-rejeitado-apple-casos-reais).

> Sem Mac, dá. Sem iPhone, você envia para a Apple um app que nunca viu funcionando.

## As etapas, em ordem, a partir do Windows

1. **Crie seu projeto** com `npx create-expo-app` e teste as primeiras telas com o Expo Go.
2. **Instale o EAS CLI** com `npm install -g eas-cli`, depois `eas login` e `eas build:configure`.
3. **Inscreva-se no Apple Developer Program** assim que o projeto tomar forma.
4. **Registre seu iPhone** com `eas device:create` e rode uma build de desenvolvimento.
5. **Crie a página do app** no App Store Connect, com o mesmo bundle identifier da sua configuração do Expo.
6. **Rode a build de produção** com `eas build --platform ios`.
7. **Envie** com `eas submit --platform ios` e teste no TestFlight. O guia [TestFlight para testar seu app](https://devoria.fr/pt-br/blog/testflight-como-testar-app-iphone-antes-envio) detalha essa etapa.
8. **Preencha a página e [envie para revisão](https://devoria.fr/pt-br/blog/waiting-for-review-app-store-connect-status)** 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](https://devoria.fr/pt-br/expertise/publicar-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](https://devoria.fr/pt-br/kits/ios), para seguir no seu ritmo. Para o envio, o [Apple Review Kit](https://devoria.fr/pt-br/kits/review-apple) 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](https://devoria.fr/pt-br) 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](https://devoria.fr/pt-br/blog/testflight-como-testar-app-iphone-antes-envio).

### 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.


## Seu projeto

[iOS Kit](https://devoria.fr/pt-br/kits/ios): Crie seu app de iPhone com Claude Code: o código inicial dos meus apps, as skills que verificam o trabalho dele e os kits Apple Review, App Store Screenshots e ASO. 129,99 €.
