Files
pleno-vue/scripts
bugfix 096f164271 fix(ios): guard against npx cap sync clobbering iOS bundle ID (TRU-92)
The iOS Xcode project uses io.truckwash.app as the release bundle ID, but
capacitor.config.ts intentionally declares appId=io.truckwash.twa (the Android
TWA app ID) because the iOS target is a separate native app, not a
Capacitor-managed one. If anyone runs 'npx cap sync ios' against the current
config, Capacitor would overwrite the iOS bundle ID with the TWA appId and
break the production iOS install (e.g. Mads's iPhone).

Harden scripts/mobile/validate-app-store.mjs so it now reads
ios/App/App.xcodeproj/project.pbxproj and asserts that every
PRODUCT_BUNDLE_IDENTIFIER is either io.truckwash.app (release) or
io.truckwash.app.debug (debug). Anything else (most importantly the TWA
appId) fails the storefront readiness check with a clear remediation message.

Cover the new guard with a focused unit test that builds a fixture Xcode
project in a temp dir with each of the known-good, TWA-clobbered, and
unrelated-bundle-ID scenarios and asserts the validator exits with the
expected status.
2026-08-17 16:15:11 +00:00
..