How to Deploy a React Native App to App Store and Play Store (2025)
Step-by-step guide to deploying your React Native app to both the Apple App Store and Google Play Store, including signing, building, and automating with CI/CD.
Deploying a React Native app to the App Store and Play Store is one of the most frustrating parts of mobile development. Between code signing, provisioning profiles, keystores, and store console UIs, it's easy to spend an entire day just trying to ship an update.
This guide walks you through the entire process — from building to submission — for both stores.
Prerequisites
Before you start, make sure you have:
- **Apple Developer Account** ($99/year) for App Store
- **Google Play Developer Account** ($25 one-time) for Play Store
- **Xcode** installed (macOS only, required for iOS builds)
- **Android Studio** or the Android SDK
- Your React Native project with a working app
Part 1: Deploying to the Apple App Store
Step 1: Configure Your iOS Project
Open `ios/YourApp.xcworkspace` in Xcode.
Set your bundle identifier:
- Select your project in the navigator → General tab
- Set "Bundle Identifier" (e.g., `com.yourcompany.yourapp`)
- Set "Version" (e.g., 1.0.0) and "Build" (e.g., 1)
Set up signing:
- Go to Signing & Capabilities
- Select your team (your Apple Developer account)
- Xcode will automatically create provisioning profiles
Step 2: Create an App Store Listing
- Go to [App Store Connect](https://appstoreconnect.apple.com)
- Click My Apps → "+" → New App
- Fill in: Platform (iOS), Name, Primary Language, Bundle ID, SKU
- Save
Step 3: Build and Archive
# Install pods
cd ios && pod install && cd ..
# Build the release
npx react-native build-ios --mode Release
# Or use Xcode:
# Product → ArchiveIn Xcode: Product → Archive. Once the archive is built, the Organizer window opens.
Step 4: Upload to App Store Connect
In the Organizer:
- Select your archive
- Click "Distribute App"
- Select "App Store Connect"
- Follow the wizard (accept defaults)
- Click "Upload"
Step 5: Submit for Review
Back in App Store Connect:
- Select your app → the new build will appear
- Fill in screenshots, description, keywords
- Click "Submit for Review"
- Apple reviews in 24-48 hours
Part 2: Deploying to Google Play Store
Step 1: Generate a Signing Key
keytool -genkeypair -v -storetype PKCS12 \
-keystore my-release-key.keystore \
-alias my-key-alias \
-keyalg RSA -keysize 2048 -validity 10000Save this keystore securely — you'll need it for every update.
Step 2: Configure Gradle for Signing
Edit `android/app/build.gradle`:
android {
signingConfigs {
release {
storeFile file('my-release-key.keystore')
storePassword 'your-store-password'
keyAlias 'my-key-alias'
keyPassword 'your-key-password'
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}Step 3: Build the App Bundle
cd android
./gradlew bundleReleaseThe output AAB file is at `android/app/build/outputs/bundle/release/app-release.aab`.
Step 4: Create a Play Store Listing
- Go to [Google Play Console](https://play.google.com/console)
- Create a new app → fill in details
- Complete the required sections (content rating, target audience, etc.)
Step 5: Upload and Publish
- Go to Production → Create New Release
- Upload the `.aab` file
- Add release notes
- Click "Review Release" → "Start Rollout"
Google reviews in 2-7 hours (much faster than Apple).
The Faster Way: CLI Deployment
All of the above is a lot of manual work. Tools like [Appight CLI](https://appight.com) can automate the entire process:
# One-time setup
appight login
appight init # Auto-detects React Native
# Deploy to TestFlight
appight deploy appstore --target testflight
# Deploy to Play Store beta
appight deploy playstore --track betaThe CLI handles building, signing, and uploading — you don't need to open Xcode or Android Studio.
CI/CD Automation
For teams, set up automated deployments:
GitHub Actions example:
name: Deploy to Stores
on:
push:
tags: ['v*']
jobs:
deploy:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- run: npx appight deploy appstore --target production
- run: npx appight deploy playstore --track productionCommon Issues
- **"No signing certificate"** — make sure your Apple Developer membership is active and you've accepted the latest agreements
- **"Version already exists"** — increment your build number in Xcode/Gradle
- **"App rejected for screenshots"** — make sure screenshots match the actual app UI
- **Play Store "deobfuscation file"** — upload the mapping.txt from your build output
Summary
Deploying React Native apps to stores is tedious but follows a predictable pattern. The key is to automate as much as possible so you can focus on building features, not wrestling with build tools.
Ready to optimize your app?
Appight helps you manage ASO, reviews, deployments, and analytics — all from one platform.
Get StartedKeep reading
The Complete App Store Optimization (ASO) Guide for 2025
Learn how to optimize your app store listing to increase downloads. Covers titles, descriptions, keywords, screenshots, and ratings for both App Store and Google Play.
ReviewsHow to Reply to App Store Reviews (Templates + AI Strategy)
Learn how to respond to positive, negative, and feature request reviews on the App Store and Play Store. Includes templates and AI-powered reply strategies.