iOS: source CAKEWALLET build number from pubspec_description.yaml

Bumping version in pubspec_description.yaml has had zero effect on
the iOS CFBundleVersion: app_env.sh hardcoded CAKEWALLET_BUILD_NUMBER=1,
app_config.sh substituted that literal into Info.plist's
\$(CURRENT_PROJECT_VERSION) placeholder via PlistBuddy before flutter
even saw it, and every TestFlight upload shipped as build 1 regardless
of what we bumped in pubspec. Apple rejected the +4 and +5 IPAs as
duplicates of the +3 that got through as build 1.

Make pubspec_description.yaml the single source of truth by parsing
its `version: X.Y.Z+N` line in app_env.sh.
This commit is contained in:
jwinterm
2026-06-03 08:02:55 -04:00
parent 5ff5ebf910
commit a1b3add2a6
+8 -2
View File
@@ -16,9 +16,15 @@ MONERO_COM_VERSION="6.1.2"
MONERO_COM_BUILD_NUMBER=163
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
# Source CAKEWALLET version + build number from pubspec_description.yaml
# (single source of truth). Without this, the hardcoded build number
# here silently overrode pubspec via app_config.sh's PlistBuddy step,
# so iOS uploads all shipped as the same CFBundleVersion and Apple
# rejected duplicates.
_PUBSPEC_VERSION=$(awk -F': ' '/^version:/ {print $2; exit}' ../../pubspec_description.yaml)
CAKEWALLET_NAME="Hash Bags"
CAKEWALLET_VERSION="1.0.0"
CAKEWALLET_BUILD_NUMBER=1
CAKEWALLET_VERSION="${_PUBSPEC_VERSION%+*}"
CAKEWALLET_BUILD_NUMBER="${_PUBSPEC_VERSION#*+}"
CAKEWALLET_BUNDLE_ID="com.suchsoftware.hashwallet"