From de235fd5fd040d7df3cb492aa72ceceb2cfb9fe7 Mon Sep 17 00:00:00 2001 From: Naiyuan Qing <145280634+NevilleQingNY@users.noreply.github.com> Date: Fri, 15 May 2026 21:27:31 +0800 Subject: [PATCH] feat(mobile): add ios:device:staging:release build script MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- apps/mobile/package.json | 1 + package.json | 1 + 2 files changed, 2 insertions(+) diff --git a/apps/mobile/package.json b/apps/mobile/package.json index 4b6fc1aaad..ca8927090d 100644 --- a/apps/mobile/package.json +++ b/apps/mobile/package.json @@ -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" }, diff --git a/package.json b/package.json index 1f7f572dce..45d39f0e5f 100644 --- a/package.json +++ b/package.json @@ -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",