Mobile Apps (React Native)

Building, Releasing and Updating Apps

35 min

EAS Build

Expo Application Services builds signed binaries in the cloud, so you do not need a Mac to build iOS apps:

npm install -g eas-cli
eas login
eas build:configure
eas build --platform android --profile preview    # installable test build
eas build --platform all --profile production     # store builds

Build profiles in eas.json separate development, preview (internal testers) and production.

Store accounts and requirements

  • Apple App Store: Apple Developer Program (annual fee), App Store Connect listing, screenshots, privacy "nutrition labels", review.
  • Google Play: one-time registration fee, Play Console listing, data safety form, testing tracks.

Both require a privacy policy URL, accurate data-collection disclosures and working sign-in for reviewers (provide a demo account). Common rejection reasons: crashes, broken links, placeholder content, missing account deletion inside the app, and unclear use of permissions.

Submitting

eas submit --platform ios
eas submit --platform android

Start with internal testing (TestFlight on iOS, internal track on Android), then a staged rollout to production.

Over-the-air updates

expo-updates (EAS Update) lets you ship JavaScript and asset fixes without a store release:

eas update --branch production --message "Fix crash on empty cart"

Native changes (new native modules, permissions, SDK upgrades) still need a new build. Do not use OTA updates to change an app's core purpose: store rules forbid bypassing review that way.

Versioning

Increase version (user-facing, e.g. 1.4.0) for each store release and the build number every build. Keep a changelog for release notes.

Monitoring

Add crash and error reporting (Sentry has an Expo integration) and basic analytics for key events. Watch crash-free sessions after each release and roll back OTA updates that cause problems.

Final project

Ship a companion app for a web platform: tabs for Home, Learn and Profile; tracks loaded from your API with offline caching; sign-in with tokens in SecureStore; avatar upload; opt-in push notifications; error monitoring; a preview build for testers via EAS; and a store-ready production build with privacy policy and screenshots.

Check yourself

  • What can an OTA update change, and what needs a new build?
  • What do both stores require before review?
  • Why release to internal testers first?

I tuoi progressi sono salvati solo in questo browser.

Invia per la revisione (10 punti)