For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /zh-tw/docs/mobile/builds.md (or send Accept: text/markdown).
構建和裝置驗證
區分 Expo 匯出成功與可以釋出的原生構建。
安裝與配置
在執行任何步驟之前,請閱讀開始之前 和終端基礎知識。這些說明假設您在 VS Code 中開啟了完整的 supastack monorepo;它的根 package.json 標記儲存庫根。在 pnpm 命令中,工作區包是應用程式或共享程式碼資料夾;在產品中,工作空間是團隊的資料容器和安全邊界。 corepack pnpm --filter ... 從 monorepo 選擇一個包,同時從其根執行命令。如果您僅開啟同步的移動或桌面資料夾,則它不包含 Web 後端、Docker 設定或根指令碼:從此 monorepo 或可訪問的託管伺服器執行後端,並使用平臺資料夾自己的指令碼。環境變數是儲存在本地 .env 檔案或託管儀錶板中的命名設定;更改後重新啟動相關應用程式,並將伺服器機密保留在 NEXT_PUBLIC_ 和 EXPO_PUBLIC_ 值之外。
1. 在 VS Code 中開啟 apps/mobile/eas.json 和 apps/mobile/app.json 以檢視開發、預覽和生產設定。
2. 使用 corepack pnpm --filter @supastack/mobile exec expo install expo-dev-client 從儲存庫根新增本機開發客戶端。執行 corepack pnpm --filter @supastack/mobile typecheck,然後執行 corepack pnpm --filter @supastack/mobile build 以進行本地 JavaScript 匯出。
3. 對於本機測試,請登入您的 Expo 帳戶,使用 cd apps/mobile 更改終端資料夾,然後執行 npx eas-cli@latest build --platform android --profiledevelopment。使用ios從任何作業系統請求EAS雲iOS構建;需要裝有 Xcode 的 Mac 才能執行 iOS 模擬器或本地編譯。預期:匯出驗證 JavaScript 包,並且 EAS 生成可安裝的本機開發應用程式。為什麼Expo Go無法新增原生庫,請參見Expo的開發構建指南。
移動工作空間構建呼叫其匯出指令碼。這將驗證已配置目標的捆綁;商店簽名、分發配置和物理裝置驗收仍然是單獨的工作。
corepack pnpm --filter @supastack/mobile typecheck
corepack pnpm --filter @supastack/mobile test
corepack pnpm --filter @supastack/mobile build要複製的命令
按照註釋檢視命令在哪個資料夾中執行。如果標記了兩個終端,請開啟兩個終端視窗,並在使用第二個命令時保持第一個命令執行。
# From the monorepo root, install the native development client once:
corepack pnpm --filter @supastack/mobile exec expo install expo-dev-client
corepack pnpm --filter @supastack/mobile typecheck
corepack pnpm --filter @supastack/mobile build
# EAS needs to run where apps/mobile/eas.json is located:
cd apps/mobile
npx eas-cli@latest build --platform android --profile development實現流程
修改移動端使用的共享包之後,執行對應的合約測試。並在目標裝置上檢查安全區域、鍵盤行為、文字縮放和減少動態效果的設定。
將本地購買保留在現有的 RevenueCat 邊界之後。成功的捆綁不得將 Stripe Checkout 引入移動介面來替代經過驗證的本機購買整合。
使用 iOS 或 Android 上的 EAS 開發構建來根據配置的沙箱產品驗證 react-native-purchases。 Expo Go 和工作區匯出指令碼不驗證商店交易。
驗證與排障
如果 EAS 版本顯示 expo-dev-client 丟失,請重複其安裝命令並確認 apps/mobile/package.json 現在列出它。從 apps/mobile 執行 EAS,以便找到 eas.json。如果 EAS 報告缺少專案或簽名設定,請檢查您的 Expo 帳戶和專案設定。 Expo Go 和成功匯出仍然不測試 StoreKit 或播放計費;使用帶有沙箱產品的 EAS 開發版本。雲 iOS 構建可以在 Windows 或 Linux 上啟動;只有本地 iOS 模擬器/構建工作需要帶有 Xcode 的 Mac。
記錄驗收時使用的裝置、構建、API 環境和登入方式。驗證深連結返回、會話恢復、權益拒絕和退出登入。將匯出成功與商店、裝置驗收結果分開記錄。
當匯出通過並且目標是釋出時,請按照提交到應用程式商店 - 附帶的 eas.json 配置檔案和 build:/submit: 指令碼將應用程式帶到 Google Play 和 App Store。
如果你想繼續完成設定,可以閱讀《釋出到應用商店》。