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:
+11
-4
@@ -28,12 +28,19 @@ packages:
|
||||
url: https://git.rzen.dev/rzen/indie-backup.git
|
||||
from: "2.0.0"
|
||||
|
||||
# Shared post-build phase — stamps CFBundleVersion (git commit count), BuildDate, and
|
||||
# BuildHash into each target's (and dSYM's) Info.plist. Aliased into every code-bearing
|
||||
# target below so the app, watch app, and both widget extensions stamp identical metadata.
|
||||
# Shared post-build phase — stamps CFBundleVersion, BuildDate, and BuildHash into each
|
||||
# target's (and dSYM's) Info.plist. Vendored at Scripts/update_build_info.sh (not the
|
||||
# shared indie-skills copy) because the iOS app and Workouts Mac share ONE App Store
|
||||
# Connect record (dev.rzen.indie.Workouts, universal purchase), so both stamping the
|
||||
# raw commit count would collide on upload. The script partitions the space instead:
|
||||
# iOS + watchOS targets get an EVEN CFBundleVersion (commit-count*2), the Mac target
|
||||
# gets ODD (commit-count*2+1) — derived from PLATFORM_NAME inside the script, so this
|
||||
# one anchor still serves all five code-bearing targets unmodified. watchOS is grouped
|
||||
# with iOS (not given its own parity) because the embedded watch app's CFBundleVersion
|
||||
# must match its host iOS app's exactly.
|
||||
scriptAnchors:
|
||||
updateBuildInfo: &updateBuildInfo
|
||||
- script: '"${SRCROOT}/../indie-skills/skills/app-versioning/scripts/update_build_info.sh"'
|
||||
- script: '"${SRCROOT}/Scripts/update_build_info.sh"'
|
||||
name: Update Build Info
|
||||
shell: /bin/sh
|
||||
basedOnDependencyAnalysis: false
|
||||
|
||||
Reference in New Issue
Block a user