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:
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user