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