Documentation

Configure app.json

Minimal required changes for apps/native/app.json in the Expo app.

Configure app.json

Location: apps/native/app.json

Update only the fields below to personalize your app. The rest of the starter defaults (plugins, experiments, assets) can stay as-is.

{
  "expo": {
    // Display name on the device home screen
    "name": "your-app-name", // CHANGE

    // Used in Expo and web URLs
    "slug": "your-app-slug", // CHANGE

    // Deep link scheme: myapp://path
    "scheme": "your-app-scheme", // CHANGE

    // Expo project owner (or leave empty just run 'eas run init')
    "owner": "", // CHANGE

    "extra": {
      "eas": {
        // Find this in Expo → Project → Settings (or leave empty just run 'eas run init')
        "projectId": "" // CHANGE
      }
    },

    "ios": {
      // Identifier for iOS app
      "bundleIdentifier": "com.yourcompany.yourappname", // CHANGE

      // Localization examples (adjust as needed)
      "infoPlist": {
        "CFBundleLocalizations": ["en", "tr", "ar"],
        "CFBundleDevelopmentRegion": "en",
      },

      // If you use OneSignal or app groups, update the group id
      "entitlements": {
        "com.apple.security.application-groups": [
          "group.com.yourcompany.yourappname.onesignal" // CHANGE or remove
        ]
      }
    },

    "android": {
      // Identifier for Android app
      "package": "com.yourcompany.yourappname" // CHANGE
    }
  }
}
  • Required changes:

    • "name", "slug", "scheme", "package", "bundleIdentifier"
  • Tips:

    • Use the same Identifier for iOS and Android.

Initialize EAS

After updating the settings above, initialize the Expo Application Services project:

cd apps/native && npx eas init

Then generate the native projects:

pnpm run prebuild

Commands after prebuild

Run these from apps/native:

pnpm run dev           # Start Metro (clear cache)
pnpm run android       # Run on Android device/emulator (no build cache)
pnpm run ios           # Run on iOS simulator/device (no build cache)
pnpm run web           # Start Expo for Web

# EAS builds
pnpm run eas:ios       # Cloud build for iOS
pnpm run eas:android   # Cloud build for Android
pnpm run eas:all       # Cloud build for both platforms

# Local EAS builds (development profiles)
pnpm run eas:ios:local     # Local iOS build
pnpm run eas:android:local # Local Android build

# Submit to stores
pnpm run eas:submit:ios
pnpm run eas:submit:android
pnpm run eas:submit:all