I am trying to build version "1.2.0" i have changed every single "buildNumber" and "version" in app.json and expo still builds ios buildNumber: "1.0.0". I am using
eas build --profile production --platform ios
{
"expo": {
"name": "Redacted",
"slug": "Redacted",
"description":"Redacted",
"version": "1.2.0",
"orientation": "portrait",
"icon": "./assets/mark.png",
"splash": {
"image": "./assets/TRANSPARENT2.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"updates": {
"fallbackToCacheTimeout": 0
},
"assetBundlePatterns": [
"**/*"
],
"ios": {
"supportsTablet": true,
"buildNumber": "1.2",
"infoPlist": {
"NSFaceIDUsageDescription": "This app uses the FaceID feature to login. If faceID fails or if it is not available for any reason, the app will fall back to a standard login system."
}
},
"android": {
"adaptiveIcon": {
"foregroundImage": "./assets/adaptive-icon.png",
"backgroundColor": "#FFFFFF"
},
"permissions": [
"CAMERA",
"USE_FINGERPRINT",
"USE_BIOMETRIC",
"VIBRATE"
],
"package": "Redacted"
},
"web": {
"favicon": "./assets/favicon.png"
},
"plugins": [
[
"expo-notifications",
{
"icon": "./assets/DarkVersion.png",
"color": "#d2282e",
"sounds": [
"./assets/notification.m4r"
]
}
]
]
}
}


Same Experience
I had a similar experience updating the app.json file in my-expo-project.
I kept the version string the same 0.9.9 and only changed the build number string from 124 to 125.
Running eas build --profile production --platform iOS resulted in the same console error.
You've already submitted this version of the app.
The build summary on expo.dev showed the old build number was delivered.

Solution
Turns out I had to use the expo prebuild command to resolve this.
ā my-expo-project git:(v125) $ expo prebuild
ā Created native projects | /android, /ios already created | gitignore already synced
ā Updated package.json and added index.js entry point for iOS and Android
š¦ Using npm to install packages.
ā Cleaned JavaScript dependencies 3698ms
ā Installed JavaScript dependencies 11150ms
ā Config synced
Now that the app config is synced to the ./iOS and ./Android folders eas build --profile production --platform iOS now delivers the correct bundle and build number to expo.dev

Turns out eas build --profile production --platform ios does not update the plist file every time you run it (super lame IMO). You manually need to go into the ./ios/<yourApp>/plist file and update the CFBundleVersion and CFBundleShortVersionString keys. This is only a thing after your first run of eas build --profile production --platform ios
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With