EAS Builds
The app uses Expo Application Services (EAS) for building and distributing.
Build Profiles
Defined in eas.json:
| Profile | Purpose | Distribution |
|---|---|---|
development | Local development | Simulator/device |
preview | Testing builds | Internal testers |
production | App Store/Play Store | Public |
Building
Development Build
For local development with full native capabilities:
bash
# iOS
eas build --profile development --platform ios
# Android
eas build --profile development --platform androidPreview Build
For internal testing:
bash
eas build --profile preview --platform allProduction Build
For store submission:
bash
eas build --profile production --platform allConfiguration
eas.json
json
{
"cli": {
"version": ">= 5.0.0"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal",
"ios": {
"simulator": true
}
},
"preview": {
"distribution": "internal"
},
"production": {}
},
"submit": {
"production": {}
}
}app.json
Key configuration:
json
{
"expo": {
"name": "Logbook",
"slug": "logbook",
"version": "1.0.0",
"ios": {
"bundleIdentifier": "so.logbook.app",
"supportsTablet": true
},
"android": {
"package": "so.logbook.app",
"adaptiveIcon": {
"foregroundImage": "./assets/adaptive-icon.png"
}
}
}
}Credentials
iOS
EAS manages iOS credentials automatically. To manage manually:
bash
eas credentials --platform iosAndroid
For Play Store:
bash
eas credentials --platform androidSubmitting
iOS (App Store)
bash
eas submit --platform iosAndroid (Play Store)
bash
eas submit --platform androidOTA Updates
For JavaScript-only updates without rebuilding:
bash
eas update --branch production --message "Bug fix"Users receive updates on next app launch.
Environment Variables
Set build-time environment variables:
bash
eas build --profile production \
--environment-variables API_URL=https://api.logbook.soOr in eas.json:
json
{
"build": {
"production": {
"env": {
"API_URL": "https://api.logbook.so"
}
}
}
}Monitoring Builds
Check build status:
bash
eas build:listView build logs:
bash
eas build:view