Expo (Mobile Builds)

Build native iOS and Android apps from your React Native projects using Expo's cloud build service (EAS Build). No Xcode or Android Studio required!

What is Expo? Expo is a platform for building React Native apps. With EAS Build, you can compile your app in the cloud and get downloadable APK/IPA files or even submit directly to app stores.

Expo Integration Overview

Video coming soon

Preview & Testing Options

IndigiCoder offers multiple ways to preview and test your mobile app:

1. Snack Preview (In-Browser) — Instant

The built-in preview panel shows your app instantly in the browser. Toggle between Web, iOS, and Android tabs, or scan the QR code to view on your phone via Expo Go.

Best for: Quick previews, sharing demos, rapid iteration

Limitations: Some packages may not work (legacy/abandoned libraries), complex native modules have limited support, local asset files must use URLs instead.

2. Download & Run Locally (Full Features)

Download your project and run it locally for full package support. This method works with ALL Expo packages without Snack limitations.

Requirements: Node.js 18+ installed, Expo Go app on your phone (free)

  1. Click "Download Project" in IndigiCoder
  2. Unzip the downloaded file
  3. Open terminal in the project folder
  4. Run: npm install then npx expo start
  5. Scan the QR code with Expo Go (Android) or Camera app (iOS)

Best for: Testing all features, using packages not supported in Snack preview

3. EAS Build (Production APK/IPA)

Build installable app files for testing or App Store submission. See the "Building Your App" section below for detailed instructions.

Best for: App Store submission, sharing with beta testers, client demos

Comparison

MethodSetupFull Package SupportReal Device
Snack PreviewNoneLimitedQR Code
Download & Run LocallyNode.js + Expo Go✅ Yes✅ Yes
EAS BuildExpo Account✅ Yes✅ Yes (APK/IPA file)

Requirements

  • Pro plan or higher — Free plan cannot build mobile apps
  • GitHub connected — Required for Expo builds
  • Expo account — Free at expo.dev

Getting Started

Step 1: Create an Expo Account

  1. Go to expo.dev
  2. Click "Sign Up" (it's free!)
  3. Create your account with email or GitHub

Step 2: Create an Access Token

  1. Go to expo.dev/settings/access-tokens
  2. Click "Create Token"
  3. Give it a name (e.g., "IndigiCoder")
  4. Important: Select "Read and Write" permissions
  5. Click "Create"
  6. Copy the token (it's about 40 characters long)
Save your token! You won't be able to see it again after you close the page. If you lose it, you'll need to create a new one.

Creating an Expo Access Token

Video coming soon

Step 3: Connect Expo in IndigiCoder

  1. Click your profile iconSettings
  2. Go to the "Integrations" section
  3. Find the Expo card
  4. Click "Connect Expo"
  5. Enter your Expo username
  6. Paste your Personal Access Token
  7. Click "Connect Account"

Connecting Your Expo Account

Video coming soon

Building Your App

Once connected, you can build your React Native app:

  1. Open your React Native project
  2. Click the "Build" button in the preview header
  3. Select your platform: iOS, Android, or Both
  4. Click "Start Build"
  5. Wait for the build to complete (usually 10-20 minutes)
  6. Download your app or scan the QR code to install

Android Builds: Zero Setup Required

Automatic Keystore Generation! Unlike traditional Android development, you don't need to create or manage signing keys. IndigiCoder automatically generates a unique keystore for each project and stores it securely for future builds.

How Android Signing Works

When you build an Android app for the first time:

  1. IndigiCoder automatically generates a unique signing keystore for your project
  2. The keystore is securely stored in our cloud
  3. Future builds automatically use the same keystore
  4. Your app maintains a consistent identity for Play Store updates

You don't need: Java, keytool, Android Studio, or any local development tools. Everything happens in the cloud!

Android Build Output

Build ProfileOutputUse Case
Preview.apk fileTesting, sharing with others, direct install
Production.aab file (App Bundle)Google Play Store submission

iOS Builds: Understanding Your Options

iOS builds have different requirements depending on your goal:

Build TypeRequirementsOutputCan Install On
SimulatorNone (free!).app fileMac with Xcode Simulator only
Real Device / App StoreApple Developer Account ($99/year).ipa fileReal iPhones/iPads, App Store

iOS Simulator Builds (Free)

The default "Preview" build creates a simulator app. Great for testing your app's look and functionality without any Apple account.

iOS Production Builds (Requires Apple Developer Account)

To build for real iOS devices or the App Store, you need to connect your Apple Developer credentials:

Step 1: Get an Apple Developer Account

Step 2: Connect Apple Credentials to Expo

You have two options:

Option A: Automatic (Recommended)

When you start your first iOS production build, Expo will prompt you to log in:

  1. Start a production build in IndigiCoder
  2. When prompted "Do you want to log in to your Apple account?" — click Yes
  3. When prompted "Generate a new Apple Distribution Certificate?" — click Yes
  4. Expo automatically creates and securely stores all certificates and profiles

Option B: App Store Connect API Key (Advanced)

For automated builds without interactive login:

  1. Go to App Store Connect → Users and Access → Integrations
  2. Click the + button next to "Active"
  3. Name: "IndigiCoder Builds", Role: Admin
  4. Download the .p8 file (you can only download once!)
  5. Save the Issuer ID and Key ID shown on the page
  6. Go to expo.dev → Account Settings → Credentials
  7. Add your API key with the .p8 file, Issuer ID, and Key ID

Step 3: Build in IndigiCoder

  1. Select "Production" profile for iOS
  2. Click "Start Build"
  3. Wait for build to complete (10-20 minutes)
  4. Download .ipa or submit directly to App Store
Your Credentials are Secure! Expo encrypts all credentials at rest. They're only decrypted in memory during builds. After initial setup, team members can build without Apple account access. IndigiCoder never sees your Apple credentials directly.
Lost your API key? You can only download the .p8 file once. If you lose it, revoke the key in App Store Connect and create a new one.

See our iOS App Store Guide for detailed instructions.

Build Limits by Plan

PlanBuilds per Month
Free0 (not available)
Pro100
Business500
EnterpriseUnlimited

Publishing to App Stores

Google Play Store

Android apps can be published to the Play Store using the Production build profile (which generates an .aab App Bundle). See our Google Play Store Guide for step-by-step instructions.

Apple App Store

iOS apps require an Apple Developer Account and can be submitted via App Store Connect. See our Apple App Store Guide for the complete process.

Troubleshooting

Build failed

Check that your Expo token has "Read and Write" permissions. Also ensure GitHub is connected — builds require pushing code to a repository.

Token not working

Make sure you copied the complete token without any extra spaces. If it still doesn't work, create a new token in your Expo dashboard.

iOS build says "credentials required"

For iOS Production builds, you need to connect your Apple Developer Account to Expo first. See the "iOS Production Builds" section above for step-by-step setup.

Apple certificate expired

Distribution certificates expire after 1 year. Go to expo.dev → Account Settings → Credentials → select your project, and regenerate the certificate.

"Account Holder access required" error

Only Account Holder or Admin roles can generate iOS signing credentials. Ask your Apple Developer team's Account Holder to either generate credentials first, or grant you Admin access.

How do I disconnect?

  1. Go to Settings → Integrations
  2. Find the Expo card
  3. Click "Disconnect"

Troubleshooting Expo Builds

Video coming soon

Expo (Mobile Builds) - Documentation | IndigiCoder