Eu já havia passado pelo processo de publicar meu app Expo no Google Play. Se você leu aquele artigo, sabe que o Google Play e a App Store são bem diferentes. A Apple tem seu próprio ecossistema, ferramentas, processo de análise e maneiras particulares de complicar as coisas.
Este é meu guia passo a passo para publicar um app Expo na App Store do iOS, desde a criação de uma conta Apple Developer até clicar em “Enviar para análise”. Aqui está tudo que eu gostaria de saber antes de começar.
Pré-requisitos
Antes de começar, confira se você tem:
- Um projeto Expo funcional (workflow managed ou bare)
- Um Mac ou acesso a um. A Apple exige macOS para compilar apps iOS nativamente, mas o EAS Build oferece uma alternativa.
- Xcode instalado (a versão estável mais recente)
- Um Apple ID
❇️ Etapa 1: Inscreva-se no Apple Developer Program
Este é o primeiro obstáculo. Diferentemente da taxa única de US$ 25 do Android, a Apple cobra US$ 99 por ano.
- Acesse developer.apple.com
- Clique em “Account” e entre com seu Apple ID
- Inscreva-se no Apple Developer Program
- Informe seus dados pessoais ou da organização
- Pague a taxa de US$ 99
Após a aprovação, você terá acesso ao App Store Connect e ao Apple Developer Portal, os dois principais painéis para tudo que vem a seguir.
❇️ Etapa 2: Configure seu app no App Store Connect
No App Store Connect você gerencia a página do app, builds, preços e envios.
- Acesse appstoreconnect.apple.com
- Clique no botão “+” e escolha “Novo App”
- Informe os detalhes do app:
- Plataforma: iOS
- Nome: o nome exibido do app (escolha com cuidado, pois é difícil alterá-lo)
- Bundle ID: deve corresponder exatamente ao valor da configuração do Expo
- SKU: um identificador interno único
- Clique em “Criar”
O registro do seu app já está criado no App Store Connect. Ainda não há um build, apenas o contêiner do app.
❇️ Etapa 3: Configure seu projeto Expo para iOS
Abra app.json (ou app.config.js) e verifique se a seção iOS está completa:
{
"expo": {
"name": "Your App Name",
"slug": "your-app-slug",
"version": "1.0.0",
"ios": {
"bundleIdentifier": "com.yourname.yourapp",
"buildNumber": "1",
"supportsTablet": true,
"infoPlist": {
"NSCameraUsageDescription": "We need camera access to...",
"NSPhotoLibraryUsageDescription": "We need photo access to..."
}
}
}
}Confira principalmente:
- bundleIdentifier deve corresponder exatamente ao valor registrado no App Store Connect.
- buildNumber deve aumentar a cada envio, mesmo que a versão permaneça igual.
- Adicione todas as permissões usadas pelo app a infoPlist com uma descrição clara. A Apple pode rejeitar o app se elas estiverem ausentes ou vagas.
❇️ Etapa 4: Gerencie certificados e perfis de provisionamento
É aqui que a Apple mais difere do Android e onde muitos desenvolvedores perdem horas. Você precisa de duas coisas:
- Um certificado de distribuição, que comprova que o build foi criado por você
- Um perfil de provisionamento, que vincula o Bundle ID do app ao certificado e autoriza a distribuição
Opção A: deixe o EAS cuidar disso (recomendado)
Com o EAS Build, tudo isso pode ser gerenciado automaticamente:
npx eas-cli credentialsO EAS pedirá para você entrar na sua conta Apple e então vai gerar e armazenar tudo para você.
Opção B: faça manualmente pelo Xcode ou Apple Developer Portal
- No Apple Developer Portal, abra Certificates, IDs & Profiles.
- Crie um novo certificado de distribuição iOS.
- Crie um App ID correspondente ao seu Bundle Identifier.
- Crie um perfil de provisionamento de distribuição que vincule os dois.
💡 Lição aprendida: evite manter vários certificados de desenvolvedor. A Apple limita a quantidade por conta, e revogar um certificado invalida os perfis de provisionamento que o utilizam.
❇️ Etapa 5: Compile seu app
Usando EAS Build (recomendado)
npm install -g eas-cli
eas login
eas build:configureConfigure o eas.json para produção:
{
"build": {
"production": {
"ios": {
"distribution": "store"
}
}
}
}Em seguida, inicie o build:
eas build --platform ios --profile productionO EAS compila seu app na nuvem, cuida da assinatura de código e fornece um arquivo .ipa pronto para envio. Você não precisa de um Mac nesta etapa.
Usando Xcode (build local)
npx expo run:ios --configuration ReleaseOu abra a pasta ios/ no Xcode, selecione “Any iOS Device” como destino e escolha Product → Archive.
❇️ Etapa 6: Envie seu build ao App Store Connect
Opção A: EAS Submit (mais simples)
eas submit --platform ios --latestOpção B: Transporter — baixe no Mac App Store, entre, adicione seu arquivo .ipa e clique em “Deliver”.
Opção C: Xcode Organizer — após arquivar, abra Window → Organizer, encontre o arquivo e escolha Distribute App → App Store Connect → Upload.
❇️ Etapa 7: Teste com TestFlight
Sempre teste com o TestFlight antes de enviar o app à App Store.
- No App Store Connect, abra TestFlight.
- Quando o build for processado, adicione testadores internos (até 100 pessoas da sua equipe).
- Para testadores externos, primeiro envie o app para a análise beta (geralmente leva de 1 a 2 dias).
❇️ Etapa 8: Prepare a página do app na App Store
A Apple exige todos os itens a seguir antes do envio:
- Nome (até 30 caracteres) e subtítulo (até 30 caracteres)
- Categoria (principal e secundária opcional)
- URL da política de privacidade (obrigatória)
- Descrição (até 4.000 caracteres; capriche nas primeiras linhas)
- Palavras-chave (até 100 caracteres no total, separadas por vírgulas)
Capturas de tela — a Apple exige tamanhos específicos:
- iPhone de 6,9 polegadas (iPhone 16 Pro Max) — obrigatório
- iPhone de 6,7 polegadas (iPhone 14 Plus / 15 Plus) — opcional, mas recomendado
- iPad Pro de 13 polegadas (M4) — obrigatório se o app for compatível com iPad
❇️ Etapa 9: Defina preços e disponibilidade
- Abra “Preços e disponibilidade”.
- Escolha “Grátis” ou defina uma faixa de preço.
- Selecione os territórios onde deseja distribuir o app (o padrão é todos).
- Defina uma data de disponibilidade (opcional).
❇️ Etapa 10: Preencha o questionário de privacidade do app
A Apple exige que você declare suas práticas de dados. Essas informações aparecem no rótulo de privacidade da página do app. No App Store Connect, abra “Privacidade do App” e responda com sinceridade: quais dados você coleta, se estão vinculados à identidade do usuário e se são usados para rastreamento.
❇️ Etapa 11: Envie para análise
Em “Informações para análise”, deixe uma nota para a equipe da Apple. Se o app exigir login, informe aqui as credenciais de teste. Depois, escolha “Adicionar para análise” → “Enviar para análise do app”.
❇️ Etapa 12: Publique!
Após a aprovação, o status do app será “Pronto para venda”. No envio, você pode escolher uma destas opções:
- Publicação manual: você decide quando o app será disponibilizado.
- Publicação automática: o app fica disponível assim que for aprovado.
🎉 Parabéns — seu app está na App Store.
❇️ Para concluir
O processo da App Store é menos transparente que o do Google Play, mas os próximos lançamentos ficam bem mais tranquilos depois do primeiro. O que mais consome tempo:
- Certificados e provisionamento — deixe o EAS cuidar disso.
- Capturas de tela — reserve tempo de verdade para criá-las.
- A primeira análise — conte com 1 a 3 dias e verifique se nada trava.
O ecossistema da Apple exige mais aprendizado, mas o público da App Store é valioso e os padrões de qualidade acabam sendo uma vantagem. Boa publicação! 🚀
Se este artigo foi útil, também escrevi sobre Como publiquei meu app Expo no Google Play — o mesmo passo a passo para Android. Você também encontra meus apps em vladsiu.com.
