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)