Skip to main content

App Deployment

Natively handles the entire app deployment process, from building your app to submitting it to the App Store and Play Store.

Deployment Options

APK (Android)

Android installable file for testing and side-loading

AAB (Android)

Android App Bundle for Google Play Store submission

iOS Build

iOS build for App Store submission

Backend Deploy

Push backend changes to production

Building for Android

APK Build (Testing)

APK files let you install your app directly on Android devices:
1

Open Deploy Modal

Click MoreDeploy App in the project header
2

Select APK

Choose “Build APK” option
3

Configure

Set your app name and icon if not already configured
4

Build

Click Build and wait for compilation (5-10 minutes)
5

Download

Download the APK file when ready
6

Install

Transfer to Android device and install
APKs can be shared with testers directly without going through the Play Store.

AAB Build (Play Store)

For Google Play Store submission:
1

Select AAB

Choose “Build AAB” in the Deploy modal
2

Configure App Details

  • App name
  • Package name (e.g., com.yourname.appname)
  • Version number
3

Build

Wait for the AAB to compile
4

Download & Upload

Download AAB and upload to Google Play Console
Package names cannot be changed after your first Play Store submission. Choose carefully!

Building for iOS

iOS builds require an Apple Developer Account ($99/year):
1

Apple Developer Account

Ensure you have an active Apple Developer Account
2

Select iOS Build

Choose “Build for iOS” in the Deploy modal
3

Enter Credentials

Provide your Apple Developer credentials:
  • Apple ID
  • App-specific password (generate in Apple ID settings)
4

Configure App

  • App name
  • Bundle identifier (e.g., com.yourname.appname)
  • Version number
5

Build & Submit

Natively builds and submits to App Store Connect

Creating App-Specific Password

For iOS builds, you need an app-specific password:
  1. Go to appleid.apple.com
  2. Sign in with your Apple ID
  3. Navigate to Security → App-Specific Passwords
  4. Click “Generate Password”
  5. Name it “Natively” and save the generated password

App Configuration

Before building, configure your app settings:

App Name & Icon

  1. Click MoreProject Settings
  2. Update app name
  3. Upload app icon (1024x1024 recommended)

App Icon Requirements

PlatformSizeFormat
iOS1024x1024PNG, no transparency
Android512x512PNG, with or without transparency
Use a simple, recognizable design that looks good at small sizes.

Backend Deployment

If your app uses Specular backend:
1

Open Deploy Modal

Click MoreDeploy App
2

Backend Section

Look for the “Backend” section in the modal
3

Push to Production

Click “Push to Production” to deploy backend changes
4

Verify

Production URL is shown when deployment completes
Deploy backend to production before submitting your app to stores. Your production app needs the production backend URL.

GitHub Integration

Connect GitHub for automatic code sync:
  1. Click MoreGitHub in the burger menu
  2. Authorize Natively to access GitHub
  3. Create a new repository or select existing
  4. Code syncs on each commit
Benefits:
  • Full version control
  • Collaborate with other developers
  • Deploy to custom infrastructure
  • Code backup and portability

GitHub Integration

Learn more about GitHub setup

Testing Before Submission

Before submitting to app stores:
  • Download APK and test on Android phone
  • Use TestFlight for iOS testing
  • Try different screen sizes
  • Test authentication flows
  • Verify data persistence
  • Check offline behavior
  • Test payments (if applicable)

App Store Submission Tips

Apple App Store

  • Screenshots: Required for each device size
  • Description: Clear, accurate app description
  • Privacy Policy: Required for all apps
  • Age Rating: Answer questionnaire accurately
  • Review Notes: Provide demo account if login required

Google Play Store

  • Screenshots: At least 2, up to 8
  • Feature Graphic: 1024x500 banner image
  • Privacy Policy: Link required
  • Content Rating: Complete questionnaire
  • Target Audience: Specify correctly

Troubleshooting Builds

Build Fails

  • Verify Apple ID and password are correct
  • Check app-specific password is valid
  • Ensure bundle ID is unique
  • Review build logs for specific errors
  • Check package name format
  • Verify version code is higher than previous
  • Review Gradle/dependency errors in logs
  • Try building again (transient issues)
  • Clear build cache if available
  • Contact support via Discord

App Rejection

If your app is rejected from stores:
  1. Read the rejection reason carefully
  2. Ask AI to help fix the issue
  3. Rebuild and resubmit
  4. Respond to reviewer if needed
Common rejection reasons:
  • Crashes or bugs
  • Incomplete functionality
  • Misleading metadata
  • Privacy policy issues
  • Guideline violations

Next Steps