2.0.1: build 66 subida a TestFlight (fix onboarding)

La primera subida la rechazo App Store Connect con 90062: el IPA salio con
CFBundleShortVersionString 2.0. MARKETING_VERSION del pbxproj no manda; la
version real esta hardcodeada en MealMood/Resources/Info.plist y en el
Info.plist del widget.

Corregidos ambos a 2.0.1 y alineados en build 66. Documentado en CLAUDE.md que
un cambio de version toca tres sitios y que fastlane solo automatiza el build
number de la app.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Ks8uUcMA9mjypVK7F2Pkt
This commit is contained in:
alexandrev-tibco
2026-08-06 08:22:56 +02:00
parent d10517b356
commit dfe97e9553
4 changed files with 20 additions and 11 deletions
+11 -2
View File
@@ -15,10 +15,19 @@ git branch -m <old-version> 1.1.6 # e.g. git branch -m 1.1.5 1.1.6
```
Right now: `MARKETING_VERSION = 2.0.1` → active branch is `2.0.1`. Keep them in sync. (The build number bump within the same version does NOT rename the branch — only a version change does.)
**The widget version is not automated.** `MealMoodWidget/Info.plist` hardcodes `CFBundleShortVersionString` and `CFBundleVersion`; `fastlane`'s `increment_build_number` only touches the app target. Update the widget by hand to match the app **before** running `fastlane beta`, or App Store Connect rejects the upload for a version mismatch:
**`MARKETING_VERSION` in the Xcode project does NOT drive the shipped version.** Both Info.plists hardcode their values, so bumping the project setting alone builds an IPA with the old version and App Store Connect rejects it (`90062: must contain a higher version than that of the previously approved version`). A version bump means editing three places, and `fastlane`'s `increment_build_number` only handles the app's build number:
| What | Where | Bumped by fastlane? |
|------|-------|---------------------|
| App version | `MealMood/Resources/Info.plist``CFBundleShortVersionString` | ❌ by hand |
| App build | `MealMood/Resources/Info.plist` + pbxproj | ✅ |
| Widget version + build | `MealMoodWidget/Info.plist` | ❌ by hand |
The widget must match the app or the upload is rejected for a version mismatch. Since `fastlane beta` increments the build as its first step, set the widget to the **next** build number before running it:
```bash
plutil -replace CFBundleShortVersionString -string "<version>" MealMood/Resources/Info.plist
plutil -replace CFBundleShortVersionString -string "<version>" MealMoodWidget/Info.plist
plutil -replace CFBundleVersion -string "<build>" MealMoodWidget/Info.plist
plutil -replace CFBundleVersion -string "<next build>" MealMoodWidget/Info.plist
```
## Credentials — all managed via `pass` (GPG-encrypted, syncs to Gitea)
+2 -2
View File
@@ -1017,7 +1017,7 @@
CODE_SIGN_ENTITLEMENTS = MealMood/Resources/MealMood.entitlements;
CODE_SIGN_IDENTITY = "Apple Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 64;
CURRENT_PROJECT_VERSION = 66;
DEVELOPMENT_TEAM = 2825Q76T7H;
GENERATE_INFOPLIST_FILE = NO;
INFOPLIST_FILE = MealMood/Resources/Info.plist;
@@ -1140,7 +1140,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = MealMood/Resources/MealMood.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
CURRENT_PROJECT_VERSION = 64;
CURRENT_PROJECT_VERSION = 66;
DEVELOPMENT_TEAM = 2825Q76T7H;
GENERATE_INFOPLIST_FILE = NO;
INFOPLIST_FILE = MealMood/Resources/Info.plist;
+6 -6
View File
@@ -15,11 +15,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>2.0</string>
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>
<string>2.0.1</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
@@ -32,7 +28,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>64</string>
<string>66</string>
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-1549720748100858~9985112590</string>
<key>ITSAppUsesNonExemptEncryption</key>
@@ -56,6 +52,10 @@
</dict>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>
<key>UILaunchScreen</key>
<dict>
<key>UILaunchScreen</key>
+1 -1
View File
@@ -17,7 +17,7 @@
<key>CFBundleShortVersionString</key>
<string>2.0.1</string>
<key>CFBundleVersion</key>
<string>65</string>
<string>66</string>
<key>NSExtension</key>
<dict>
<key>NSExtensionPointIdentifier</key>