This works fine in development and the correct version is visible within the app. However when running
expo build:ios -t archive --no-publish
or the Android equivalent, then the Expo build system does not pick up the version number in version.txt and instead seems to use the most recent version I built before moving to the version.txt system.
this is because of the --no-publish flag. expo build relies on the manifest (i.e. app.json configuration) of the last publish, so by not publishing, you’re relying on the manifest from whenever the last time you published is (and not the current values in that file)
In case it’s of interest to the Expo team, my motivation for wanting to use --no-publish is that I wanted to avoid OTA updates with this particular release.