Skip to main content

Fitness App Expo Version

This guide covers the Expo workflow version of the Fitness App template, located in:

expo-version/ReactNativeFitnessApp

Use this version if you want Expo tooling, Expo run commands, Continuous Native Generation, and EAS Build support.

What This Version Uses

  • Expo SDK 55
  • React Native 0.83.6
  • Expo managed workflow with Continuous Native Generation
  • Expo run commands for local native builds
  • EAS profiles for development, preview, and production

First Run

From the Expo app folder:

yarn install
yarn start

In a second terminal, run either:

yarn ios

or

yarn android

If Metro cache gets stale:

yarn start:clear

Native Regeneration

This version treats native folders as generated output.

Generate or refresh native projects with:

yarn prebuild

Regenerate them from scratch with:

yarn prebuild:clean

If you want to validate the Continuous Native Generation flow end to end:

rm -rf android ios
yarn prebuild

Important Defaults

At the time of writing, the Expo version ships with these defaults:

  • app name: Fitness App
  • Expo slug: fitness-app
  • Android package: com.instamobile.fitness
  • iOS bundle identifier: com.instamobile.fitness

Replace these with your own brand before publishing.

Run these before release:

yarn doctor
yarn lint
yarn test --watchAll=false --watchman=false
npx expo export --platform ios --output-dir /tmp/react-native-fitness-app-export

For local smoke testing, also run:

yarn ios
yarn android

EAS Profiles

The template includes these EAS profiles:

  • development
  • development-simulator
  • preview
  • production

Examples:

eas build --profile development --platform ios
eas build --profile preview --platform android
eas build --profile production --platform all

Workflow Notes

  • Prefer app.config.js as the source of truth for native configuration
  • Prefer Expo config plugins instead of persistent manual native edits
  • Do not treat generated android/ and ios/ folders as long-term source of truth
  • If a dependency forces repeated manual native edits, treat that as an Expo workflow regression and move the setup into config or a plugin