Implantação na App Store
Serviço EAS - custos se aplicam. Builds em nuvem usam recursos do plano EAS, e os serviços EAS possuem limites de camada gratuita e planos pagos. As assinaturas do Apple Developer e do Google Play Console são separadas. Verifique https://expo.dev/pricing para o serviço solicitado.
Este skill cobre a construção e o lançamento de aplicativos iOS e Android com o EAS: projetos Expo e outros React Native, além de aplicativos nativos existentes. O EAS é um serviço de entrega; aplicativos nativos podem usá-lo sem adicionar Expo ou React Native ao seu runtime. O passo a passo de configuração nativa atualmente cobre SwiftUI/UIKit no iOS.
Escolha o caminho do projeto
- Aplicativo SwiftUI/UIKit sem runtime React Native: leia references/native-ios.md antes de alterar sua configuração de build. Mantenha o projeto Xcode e o código Swift como fonte da verdade do aplicativo. Os exemplos de início rápido do Expo/React Native e de clientes de desenvolvimento abaixo não se aplicam a este caminho.
- Aplicativo Android nativo sem runtime React Native: preserve sua configuração de build nativa existente. Consulte references/play-store.md para submissão; as instruções de configuração do Swift/iOS não se aplicam. Um passo a passo dedicado de configuração nativa Android ainda não está incluído.
- Aplicativo Expo/React Native: use o início rápido abaixo e, em seguida, a referência da loja relevante.
- Adicionando telas React Native a um aplicativo nativo existente: use
expo-brownfieldpara essa integração; retorne aqui para distribuição.
Utilize as verificações de archive e ícone em references/native-ios.md durante a configuração inicial do iOS nativo, após alterar versionamento, IDs de bundle ou ícones, ou ao diagnosticar um upload rejeitado. Lançamentos rotineiros seguem o fluxo de build/submissão do EAS e as verificações de processamento e disponibilidade em references/testflight.md. Um build EAS bem-sucedido ou uma submissão na fila não estabelece aceitação da Apple, acesso para testadores ou lançamento na App Store.
Referências
Consulte estes recursos conforme necessário:
- ./references/workflows.md -- Fluxos de trabalho CI/CD para lançamentos automatizados na loja e prévias de PR
- ./references/testflight.md -- Envio de builds iOS para o TestFlight para testes beta
- ./references/app-store-metadata.md -- Gerenciamento de metadados da App Store e otimização ASO
- ./references/play-store.md -- Envio de builds Android para o Google Play Store
- ./references/ios-app-store.md -- Processo de submissão e revisão da App Store iOS
- ./references/native-ios.md -- Configuração nativa Swift/SwiftUI/UIKit, versionamento e verificação de archive sem runtime Expo
Início Rápido Expo / React Native
Instalar EAS CLI
npm install -g eas-cli
eas login
Inicializar EAS
npx eas-cli@latest init
eas init vincula ou cria o projeto EAS. Execute eas build:configure para criar perfis de build em eas.json; preserve os identificadores existentes do projeto e da loja quando uma configuração de lançamento já existir.
Comandos de Build
Builds de Produção
# Build para iOS App Store
npx eas-cli@latest build -p ios --profile production
# Build para Android Play Store
npx eas-cli@latest build -p android --profile production
# Ambas as plataformas
npx eas-cli@latest build --profile production
Submeter às Lojas
# iOS: Build e submissão ao App Store Connect
npx eas-cli@latest build -p ios --profile production --auto-submit
# Android: Build e submissão ao Play Store
npx eas-cli@latest build -p android --profile production --auto-submit
# Atalho Expo / React Native para iOS TestFlight
npx testflight
Hospedagem Web e de Rotas de API
A implantação de um site Expo ou rotas de API do Expo Router no EAS Hosting (npx expo export -p web seguido de eas deploy) é coberta pelo skill eas-hosting. Este skill foca em lançamentos nativos nas lojas de aplicativos.
Configuração EAS
Exemplo para um projeto Expo / React Native (perfis nativos Swift estão em references/native-ios.md):
{
"cli": {
"version": ">= 16.0.1",
"appVersionSource": "remote"
},
"build": {
"production": {
"autoIncrement": true,
"ios": {
"resourceClass": "m-medium"
}
},
"development": {
"developmentClient": true,
"distribution": "internal"
}
},
"submit": {
"production": {
"ios": {
"appleId": "[email protected]",
"ascAppId": "1234567890"
},
"android": {
"serviceAccountKeyPath": "./google-service-account.json",
"track": "internal"
}
}
}
}
Guias Específicos por Plataforma
iOS
- Para aplicativos Swift nativos, use o fluxo explícito de build/submissão em
references/native-ios.md - Para aplicativos Expo / React Native,
npx testflightfornece um fluxo rápido para o TestFlight - Configure credenciais da Apple via
eas credentials - Consulte ./references/testflight.md para configuração de credenciais
- Consulte ./references/ios-app-store.md para submissão à App Store
Android
- Configure a conta de serviço do Google Play Console
- Configure as faixas: internal → closed → open → production
- Consulte ./references/play-store.md para configuração detalhada
Lançamentos Automatizados
Os EAS Workflows automatizam o pipeline de build → submissão → atualização para CI/CD. Consulte ./references/workflows.md para exemplos de lançamentos na loja. Para criar ou validar YAML de workflow, use o skill eas-workflows - ele funciona a partir do esquema de workflow ativo.
Gerenciamento de Versões
O EAS gerencia números de versão automaticamente com appVersionSource: "remote":
# Verificar versões atuais
eas build:version:get
# Definir versão manualmente
eas build:version:set -p ios
O comando version-set solicita o valor. Ao configurar ou alterar o versionamento do iOS nativo, ou ao diagnosticar um número de build duplicado, inspecione o CFBundleVersion arquivado: o contador remoto por si só não prova que o Xcode o utilizou.
Monitoramento
# Listar builds recentes
eas build:list
# Verificar status do build
eas build:view BUILD_ID
# Inspecionar submissões (verificado com EAS CLI 23.2.0)
eas submit:list -p ios --json
eas submit:view SUBMISSION_ID --json
Verifique a versão da CLI antes de interpretar um comando ausente: estes comandos de submissão estão disponíveis na versão 23.2.0, mas não na instalação testada 18.6.0. Uma invocação com npx [email protected] fixada pode usá-los sem alterar a instalação global. Consulte references/testflight.md para status ao vivo da Apple e orientações de nova tentativa. Siga as URLs de log retornadas quando o resultado JSON omitir a falha subjacente. Relate o ID/versão exata do build e o estado de lançamento verificado mais avançado.
Enviar Feedback
Se você encontrar erros, informações enganosas ou desatualizadas neste skill, reporte para que a Expo possa melhorar:
npx --yes @expo/agent-cli@latest feedback --category skills --subject "eas-app-stores" "<feedback acionável>"
Envie apenas quando tiver algo específico e acionável para relatar. Inclua o máximo de contexto relevante possível.
Se um agente falhar repetidamente em uma tarefa Expo ou o usuário precisar intervir, envie um breve relatório da tarefa, resultado esperado e o que deu errado usando --category evals e o pacote ou comando Expo relevante como --subject.