Mobile Deployment
ChurchApps' Expo mobile apps, such as B1 Checkin, are built with Expo EAS Build or a local Gradle build and distributed through the app stores. This page covers building, submitting, and pushing over-the-air updates for both Android and iOS, using B1 Checkin as the example.
Before You Begin
- Set up the app locally -- see Mobile Apps
- Install and configure the EAS CLI
- Have access to the Google Play Console (Android) and/or Apple App Store Connect (iOS)
Building
Android
Android release builds run locally and are signed with the release keystore from EAS. Download it once with npx eas-cli credentials -p android (choose credentials.json: Download credentials from EAS), then run:
yarn build:android
The Google Play bundle is written to android/app/build/outputs/bundle/release/app-release.aab. To build on EAS instead, run yarn build:android:eas.
iOS
iOS builds always run on EAS:
yarn build:ios
Submitting to App Stores
Android -- Google Play Store
Upload the AAB through the Play Console, or submit it with EAS:
npx eas-cli submit -p android --path android/app/build/outputs/bundle/release/app-release.aab
iOS -- Apple App Store
Submit the iOS build directly via EAS:
eas submit --platform ios
OTA Updates
For JavaScript-only changes that do not require app store review, use over-the-air (OTA) updates:
yarn update
This uses EAS Update to push changes directly to users without a full store submission.
OTA updates are significantly faster than store builds -- changes can reach users in minutes rather than days. Use them for bug fixes, copy changes, and minor UI updates that do not involve native code changes.
Version Numbers
Before creating a store build, version numbers must be updated in multiple files:
package.jsonapp.jsonandroid/app/build.gradle(versionNameandversionCode)
The iOS build number is incremented automatically by EAS.
Forgetting to update version numbers in all files will cause build failures or app store rejection. Double-check every file listed above before starting a production build.
Related Articles
- Mobile Apps -- Local setup and development guide
- API Deployment -- Deploying the backend APIs
- Web App Deployment -- Deploying the frontend web applications