Stagger build numbers by platform: iOS/watch even, macOS odd

Both platforms share one App Store Connect build-number space (same
bundle ID, universal purchase), so the raw commit count would collide.
The vendored script partitions on PLATFORM_NAME; watchOS rides with iOS
because the embedded watch app's CFBundleVersion must match its host.
This commit is contained in:
2026-07-16 20:14:23 -04:00
parent 62ca446136
commit 47a49cc356
3 changed files with 104 additions and 5 deletions
+1 -1
View File
@@ -58,7 +58,7 @@ All in `Shared/Model/`:
### Platforms, Tooling & Entitlements
- iOS 26 / watchOS 26 / macOS 26; Swift 6 with `SWIFT_STRICT_CONCURRENCY: complete` on all targets.
- Build number (git commit count), `BuildDate`, and `BuildHash` are stamped by the `app-versioning` skill's `update_build_info.sh` (referenced in place from `../indie-skills`, a post-build phase; release tagging is opt-in via `RELEASE_TAGGING=1`). `Scripts/` holds the App Store / TestFlight release pipeline.
- Build number, `BuildDate`, and `BuildHash` are stamped by the vendored `Scripts/update_build_info.sh` (a post-build phase; release tagging is opt-in via `RELEASE_TAGGING=1`). Build numbers are **platform-partitioned** from the git commit count — iOS/watchOS get even (2×commits), macOS gets odd (2×commits+1) — because both platforms share one ASC build-number space and the embedded watch app must match the iOS app's `CFBundleVersion`. `Scripts/` also holds the App Store / TestFlight release pipeline.
- Entitlements: iOS uses CloudDocuments + HealthKit; watch uses HealthKit only; macOS uses app sandbox + CloudDocuments (same bundle ID as iOS — universal purchase). **No CloudKit service, no App Group.**
- SPM packages: `IndieSync` (file-side iCloud sync core) and `IndieAbout` (in-app About / changelog / license UI).