feat(app-expo): env variants, local iOS prebuild, and About diagnostics

Align staging/production builds with APP_VARIANT bundle IDs, allow staging HTTP on iOS, add ios-prebuild scripts for TestFlight, and show connected API URL on About for non-production builds.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Kevin
2026-05-19 15:43:16 +08:00
parent 3921c5ec24
commit 6d281c92a5
13 changed files with 275 additions and 18 deletions

View File

@@ -1,12 +1,34 @@
# 复制为 .env.development / .env.staging / .env.production 后填写(勿提交含密钥的副本)。
# 仓库已提交三份模板:.env.development、.env.staging、.env.production。
# 本地npm start 会通过 prestart 执行 `use-env development` 生成 .env
# 或手动 `npm run use-env -- staging` / `npm run use-env -- production`。
# CIGitHub Actions 在构建 APK 前会按分支调用 use-envmain → stagingtag → production
# iOS 本机 TestFlightnpm run ios:prebuild:staging|production见 scripts/ios-prebuild.sh
#
# APP_VARIANT / EXPO_PUBLIC_APP_VARIANT控制 Bundle ID 与「关于」页是否显示后端地址
# development / staging → 显示版本 + API 地址production → 仅版本号
#
# 变量在构建时注入;修改后需重新 prebuild/打包客户端。
#
# 助手朗读:无独立 EXPO_PUBLIC_* TTS 开关。会话页顶栏在每轮 WebSocket 中带 `tts_this_turn`
# 服务端是否具备合成能力见 api/.env 中 ENABLE_TTS 等(模板见 api/.env.example
EXPO_PUBLIC_API_URL=https://your-api.example.com
EXPO_PUBLIC_WS_URL=wss://your-api.example.com
# --- development本地---
# APP_VARIANT=development
# EXPO_PUBLIC_APP_VARIANT=development
# EXPO_PUBLIC_API_URL=http://127.0.0.1:8000
# EXPO_PUBLIC_WS_URL=ws://127.0.0.1:8000
# --- staging预发 / TestFlight staging 包)---
# APP_VARIANT=staging
# EXPO_PUBLIC_APP_VARIANT=staging
# iOS Bundle ID: org.brighteng.lifecho.staging
# EXPO_PUBLIC_API_URL=http://your-staging-host:8000
# EXPO_PUBLIC_WS_URL=ws://your-staging-host:8000
# --- production正式---
# APP_VARIANT=production
# EXPO_PUBLIC_APP_VARIANT=production
# iOS Bundle ID: org.brighteng.lifecho
# EXPO_PUBLIC_API_URL=https://your-api.example.com
# EXPO_PUBLIC_WS_URL=wss://your-api.example.com