Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

unable to increase app version #2329

Closed
debo1402 opened this issue Apr 14, 2024 · 1 comment
Closed

unable to increase app version #2329

debo1402 opened this issue Apr 14, 2024 · 1 comment
Labels
needs review Issue is ready to be reviewed by a maintainer

Comments

@debo1402
Copy link

Build/Submit details page URL

No response

Summary

When i edit app.json in the version section, i expect eas build to produce binary app with the version dictated in app.json. however eas build keep in previous version.

Managed or bare?

bare

Environment

expo-env-info 1.2.0 environment info:
System:
OS: macOS 14.2.1
Shell: 5.9 - /bin/zsh
Binaries:
Node: 20.12.1 - /opt/homebrew/opt/node@20/bin/node
Yarn: 1.22.21 - /opt/homebrew/bin/yarn
npm: 10.5.0 - /opt/homebrew/bin/npm
Watchman: 2024.04.01.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.15.2 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 23.2, iOS 17.2, macOS 14.2, tvOS 17.2, visionOS 1.0, watchOS 10.2
Android SDK:
API Levels: 31, 33, 34
Build Tools: 30.0.2, 30.0.3, 33.0.1, 34.0.0
System Images: android-34 | Google APIs ARM 64 v8a, android-34 | Google Play ARM 64 v8a, android-TiramisuPrivacySandbox | Google Play ARM 64 v8a, android-UpsideDownCakePrivacySandbox | Google Play ARM 64 v8a
IDEs:
Xcode: 15.2/15C500b - /usr/bin/xcodebuild
npmPackages:
@expo/webpack-config: ^19.0.0 => 19.0.0
babel-preset-expo: ^9.5.2 => 9.5.2
expo: ^49.0.11 => 49.0.16
react: 18.2.0 => 18.2.0
react-dom: 18.2.0 => 18.2.0
react-native: 0.72.6 => 0.72.6
react-native-web: ~0.19.6 => 0.19.9
npmGlobalPackages:
eas-cli: 7.8.1
Expo Workflow: bare

✔ Check Expo config for common issues
✔ Check package.json for common issues
✔ Check dependencies for packages that should not be installed directly
✔ Check for issues with metro config
✖ Check for common project setup issues
✔ Check npm/ yarn versions
✔ Check Expo config (app.json/ app.config.js) schema
✔ Check native tooling versions
✔ Check that native modules do not use incompatible support packages
✔ Check for legacy global CLI installed locally
✔ Check that packages match versions required by installed Expo SDK
✔ Check that native modules use compatible support package versions for installed Expo SDK

Detailed check results:

This project has native project folders but is also configured to use Prebuild. EAS Build will not sync your native configuration if the ios or android folders are present. Add these folders to your .gitignore file if you intend to use prebuild (aka "managed" workflow).

One or more checks failed, indicating possible issues with the project.

Error output

No response

Reproducible demo or steps to reproduce from a blank project

i run the following command:
eas build --profile production --platform android --local --clear-cache

and it run successfully. however the version stays the same. even though i increased the version in app.json and package.json

@debo1402 debo1402 added the needs review Issue is ready to be reviewed by a maintainer label Apr 14, 2024
@szdziedzic
Copy link
Member

Hi,

If you are on a bare workflow (you have ios and android directories with native code) and you don't use the autoIncrement option, the source of truth is the version stored in the native code (CFBundleVersion + CFBundleShortVersionString for iOS and versionName + versionCode for Android). These values have higher priority than the version + ios.buildNumber + android.versionCode fields from app.json. They have the higher priority because they are the true version source for App Store and Play Store. We don't update them for you if you have the "autoIncrement": false option chosen, so we don't make unwanted changes to your native code.

However setting "autoIncrement": true in your build profile, makes EAS CLI responsible for your version management. If this option is enabled EAS Build will bump your ios.buildNumber and android.versionCode on each build and these values + the main version from app.json with your native code as well. I recommend using this setting in conjunction with remote version management ({ "cli": { "appVersionSource": "remote" } }).

If you don't wish to use autoIncrement you can either:

  1. Update the version manually (this means you would also need to update the CFBundleVersion + CFBundleShortVersionString for iOS and versionName + versionCode for Android when you are on bare workflow)
  2. Sync them by using the npx expo prebuild if you use CNG

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs review Issue is ready to be reviewed by a maintainer
Projects
None yet
Development

No branches or pull requests

2 participants