Artigo

Como publicar um app Expo na App Store

Um guia prático para publicar um app Expo, desde a inscrição no Apple Developer até a revisão da App Store.

Como publicar um app Expo na App Store

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.

  1. Acesse developer.apple.com
  2. Clique em “Account” e entre com seu Apple ID
  3. Inscreva-se no Apple Developer Program
  4. Informe seus dados pessoais ou da organização
  5. 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.

  1. Acesse appstoreconnect.apple.com
  2. Clique no botão “+” e escolha “Novo App”
  3. 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
  4. 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 credentials

O 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

  1. No Apple Developer Portal, abra Certificates, IDs & Profiles.
  2. Crie um novo certificado de distribuição iOS.
  3. Crie um App ID correspondente ao seu Bundle Identifier.
  4. 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:configure

Configure o eas.json para produção:

{
  "build": {
    "production": {
      "ios": {
        "distribution": "store"
      }
    }
  }
}

Em seguida, inicie o build:

eas build --platform ios --profile production

O 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 Release

Ou 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 --latest

Opçã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.

  1. No App Store Connect, abra TestFlight.
  2. Quando o build for processado, adicione testadores internos (até 100 pessoas da sua equipe).
  3. 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

  1. Abra “Preços e disponibilidade”.
  2. Escolha “Grátis” ou defina uma faixa de preço.
  3. Selecione os territórios onde deseja distribuir o app (o padrão é todos).
  4. 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:

  1. Certificados e provisionamento — deixe o EAS cuidar disso.
  2. Capturas de tela — reserve tempo de verdade para criá-las.
  3. 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.