Índice
1. React Native CLI vs Expo
O processo de publicação varia conforme o setup do seu projeto:
React Native CLI
- Controle total sobre o código nativo
- Build via Xcode (iOS) e Gradle (Android)
- Requer configurar assinatura manualmente
- Mais complexo, mais flexível
Expo (Managed)
- Build via
eas build - Assinatura gerenciada pelo EAS
- Mais simples, menos controle nativo
- Veja: guia Expo
Este guia foca no React Native CLI. Se seu projeto usa Expo Managed, acesse o guia específico de Expo.
2. Pré-requisitos
- Node.js e React Native CLI instalados.
- Android Studio com SDK configurado para builds Android.
- Mac com Xcode para builds iOS (obrigatório).
- Conta Google Play Developer ($25 taxa única).
- Conta Apple Developer ($99/ano).
- App criado no Play Console e no App Store Connect.
3. Publicar no Google Play (Android)
Gerar a keystore de assinatura
Execute no terminal para criar a keystore:
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
Configurar gradle.properties
Adicione as credenciais da keystore em android/gradle.properties: MYAPP_UPLOAD_STORE_FILE, MYAPP_UPLOAD_KEY_ALIAS, MYAPP_UPLOAD_STORE_PASSWORD e MYAPP_UPLOAD_KEY_PASSWORD.
Configurar build.gradle
Em android/app/build.gradle, adicione o bloco signingConfigs apontando para as variáveis do gradle.properties e referencie-o no buildType release.
Gerar o AAB
Na raiz do projeto: cd android && ./gradlew bundleRelease. O arquivo será gerado em android/app/build/outputs/bundle/release/app-release.aab.
Upload no Play Console
Acesse o Play Console, vá em Produção → Criar nova versão, faça upload do AAB e preencha as notas de versão. Envie para revisão.
4. Publicar na App Store (iOS)
Configurar assinatura no Xcode
Abra ios/NomeDoApp.xcworkspace no Xcode (sempre o .xcworkspace, nunca o .xcodeproj). Em Signing & Capabilities, selecione seu Apple Developer Team e ative o gerenciamento automático de assinatura.
Gerar o bundle de produção JS
Antes do archive, certifique-se de que o app está apontando para o bundle correto. Para React Native CLI, o Xcode já trata isso ao usar o scheme Release.
Archive e Upload
No Xcode, selecione o dispositivo Any iOS Device e vá em Product → Archive. Na janela do Organizer, clique em Distribute App → App Store Connect → Upload.
Submeter no App Store Connect
Aguarde o build processar (até 30 min), preencha classificação etária, screenshots e informações de venda. Clique em Adicionar para Revisão. A Apple leva 1–3 dias úteis.
⚠️ Não esqueça de adicionar o ícone do app em todos os tamanhos exigidos (1024×1024 para App Store Connect + variações no Assets.xcassets). Apps sem ícone completo são rejeitados.
5. Erros comuns ao publicar React Native
- versionCode não incrementado: o Google Play rejeita qualquer AAB com o mesmo versionCode. Atualize em
android/app/build.gradle. - Metro bundler ainda rodando: antes de gerar o build de produção iOS, certifique-se de que o Metro não está ativo (pode afetar o bundle gerado).
- CocoaPods desatualizado: execute
cd ios && pod installapós qualquer alteração de dependências. - Certificado de distribuição ausente: verifique se o certificado iOS Distribution está criado no Apple Developer Portal.
- Keystore perdida: guarde em múltiplos locais. Sem ela, não há como publicar atualizações.
💡 Quer automatizar o processo? Ferramentas como Fastlane ou EAS Build podem gerar e enviar os builds automaticamente para ambas as lojas.
Prefere não lidar com keystore, Xcode e rejeições?
A AtlasTech publica seu app React Native nas duas lojas com garantia de aprovação. Você foca no produto, a gente cuida do resto.
Quero publicar meu React Native6. Prefere delegar tudo?
Publicar um app React Native exige configurar keystores, certificados Apple, perfis de provisionamento, Xcode, Gradle e ainda lidar com possíveis rejeições em ambas as lojas. É um processo técnico e demorado.
A AtlasTech realiza a publicação completa nas duas lojas, incluindo configuração de assinatura, upload e acompanhamento até a aprovação. Solicite um orçamento.