Your Voucher Book / Expo StepsThis is a react native (Javascript) hybrid app (write once run many) within the Expo platform which is used for cloud build and distribution. It’s too complex to cover local system requirements but minimum are Node / React native IDE (eg webstorm);

  • Node 20
  • Java 11 (Needed for local Android builds / emulators)
  • Yarn (Seems more resilient than npm for package management so use this)

Package Management

Use yarn, eg

yarn remove expo-modules-autolinking

yarn upgrade expo-status-bar@~1.4.4

Expo commands

Prep / Setup

Install the EAS (Expo) build command line

npm install --global eas-cli

Check for any possible errors / dependencies / setup issues

npx expo-doctor

Create the local Android / iOS Folders and native projects

(This needs running before every version upgrade too so version / build number changes get updated

npx expo prebuild

Run Web Version

npm run web

Run Native versions

(In local simulators or web)

npm run iosnpm run android

EAS / Expo Builds

Local build

eas build —platform android —local

eas build —platform ios —local

Cloud Build (££)

Had some ios errors, so maybe stick to local builds?

eas build

Clean up when get gets dependencies in a knot

rm -Rf node_modulesyarn upgrade(latter recreated yarn.lock)npx expo install --check

App Store Submissions

Apple

Local, after local build, uploads and can then be sent for internal, testflight, or final submission within app store connect

eas submit -p ios

Google Play

Local, after local android build. Needs Google service account json file, so owners permission, API access etc - skipping for now as we can buils and upload the .aab manually (Need the secrets file though)

eas submit -p android

General App / React Tweaks

  • app.json
  • credentials.json