- Install dependencies:
yarn - Copy
.env.exampleto.env - Install Fastlane (for iOS builds):
brew install fastlane - Install ADB (for Android device installs):
brew install android-platform-tools
yarn start # Start Expo dev server
yarn ios # Run on iOS simulator
yarn android # Run on Android emulatorAll builds run locally via EAS. Build artifacts output to the project root (.ipa, .apk, .aab).
| Profile | Purpose | iOS | Android |
|---|---|---|---|
| dev | Development build with dev client | yarn build:ios:dev |
yarn build:android:dev |
| internal | Ad-hoc install to registered devices | yarn build:ios:internal |
yarn build:android:internal |
| testflight | TestFlight beta distribution | yarn build:ios:testflight |
- |
| production | App store release | yarn build:ios:production |
yarn build:android:production |
Before building for a physical iOS device:
yarn device:registerScan the QR code, then go to Settings > General > VPN & Device Management to complete registration.
iOS: Open Xcode > Window > Devices and Simulators > Drag .ipa onto device
Android: adb install path/to/file.apk (use adb devices to verify connection)
Update version in both files:
package.jsonapp.config.js
yarn build:ios:testflight
yarn submit:iosThen distribute to testers in App Store Connect > TestFlight.
# iOS
yarn build:ios:production
yarn submit:ios
# Android
yarn build:android:production
yarn submit:androidGenerate migrations after schema changes:
yarn db:generatecd ~/Library/Developer/CoreSimulator/Devices
find . -name database.db
# Open the found path in a SQLite browseriOS Simulator:
- Find device in Xcode > Window > Devices and Simulators
- Navigate to
~/Library/Developer/CoreSimulator/Devices/DEVICE_ID/data/Containers/Shared/AppGroup/ - Export/import JSON files from this location
Android Emulator: Drag files onto emulator screen to save to Downloads.