feat(mobile): add ios:device:staging:release build script

Adds a Release-configuration build path for the staging variant:

  pnpm ios:mobile:device:staging:release
  → cd apps/mobile && expo run:ios --device --configuration Release

Release builds strip `expo-dev-launcher` from the binary (it's only
linked in the Debug Pod configuration), so the installed app loads the
embedded JS bundle directly — no "Downloading…" screen, no Metro
probe, no Recently-opened launcher menu. Standalone use feels like an
App Store install.

The existing `ios:device:staging` (Debug) path is unchanged — it stays
the daily-driver for hot-reload development.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Naiyuan Qing
2026-05-15 21:27:31 +08:00
parent 87cc3093ab
commit de235fd5fd
2 changed files with 2 additions and 0 deletions

View File

@@ -8,6 +8,7 @@
"dev:staging": "dotenv -e .env.staging -- cross-env APP_ENV=staging expo start",
"ios:device": "expo run:ios --device",
"ios:device:staging": "dotenv -e .env.staging -- cross-env APP_ENV=staging expo run:ios --device",
"ios:device:staging:release": "dotenv -e .env.staging -- cross-env APP_ENV=staging expo run:ios --device --configuration Release",
"lint": "expo lint",
"typecheck": "tsc --noEmit"
},

View File

@@ -12,6 +12,7 @@
"dev:mobile:staging": "pnpm -C apps/mobile dev:staging",
"ios:mobile:device": "pnpm -C apps/mobile ios:device",
"ios:mobile:device:staging": "pnpm -C apps/mobile ios:device:staging",
"ios:mobile:device:staging:release": "pnpm -C apps/mobile ios:device:staging:release",
"build": "turbo build --filter=!@multica/mobile",
"typecheck": "turbo typecheck --filter=!@multica/mobile",
"test": "turbo test --filter=!@multica/mobile",