RevenueCat iOS 訂閱怎麼本地測試?2026 遠端 Mac 流程
📋 本文目錄
訂閱按鈕能點,卻不確定權益是否真的解鎖?
最快做法:先用 RevenueCat Test Store 驗證 App 邏輯,再用 Xcode StoreKit 配置測試交易流程,發布前以 Apple Sandbox 驗收平台行為;三者不能互相代替。
剛接入 RevenueCat、要檢查訂閱頁和權益解鎖的 iOS 獨立開發者,先看環境選擇與驗收邊界。
想在模擬器重現購買流程,留意 StoreKit 配置步驟。
沒有本地 Mac、需要執行 Xcode 建置與測試的小團隊,則可直接看遠端環境的復驗方式。
開始測試前:三種環境各自驗證什麼
RevenueCat iOS 訂閱測試不是切換一個測試開關就能完成。你需要按目標分開驗收:App 的購買邏輯、Apple 平台交易流程,以及發布前的 Sandbox 行為。RevenueCat 的 Test Store 說明 與 Apple 的分階段測試指引都說明了不同環境的用途與界線。
| 環境 | 適合驗證 | 不能單獨證明 | 本文評估的適合度 |
|---|---|---|---|
| RevenueCat Test Store | SDK 串接、購買結果處理、CustomerInfo 與 entitlement 更新 | Apple 平台的實際交易行為 | App 邏輯:高 |
| Xcode StoreKit 配置 | 本地商品與 StoreKit 購買流程、模擬器中的交易狀態 | App Store Connect 商品已正確建立,或所有平台事件都已驗收 | 開發期交易流程:高 |
| Apple Sandbox | Apple 測試環境中的平台購買鏈路與商品核對 | 正式環境所有狀況都已覆蓋 | 發布前平台驗收:必要 |
這是依照驗收目的整理的適用度,不是速度或效能測量。若你只在 Test Store 看到權益解鎖,能證明應用程式處理了該測試結果,不能據此判定 Apple Sandbox 的商品、交易與帳號設定也沒有問題。
配置起點:先對齊商品、權益與金鑰
開始購買測試前,先在 RevenueCat 專案中建立商品與 entitlement 的對應關係。RevenueCat 的 iOS 商品設定文件說明產品與 entitlement 的配置;SDK 設定文件則可用來核對 App 端的 SDK 初始化方式與金鑰用途。
| 核對項目 | 你要確認的內容 | 常見錯配 |
|---|---|---|
| 商品識別碼 | App、RevenueCat 與所選測試環境使用的識別碼相符 | 程式使用的 ID 和後台商品 ID 不一致 |
| Entitlement | 購買成功後應解鎖的權益已連到正確商品 | 交易成功,但 App 判斷的 entitlement 名稱不同 |
| 使用者識別 | 測試時 App 使用的 RevenueCat 使用者 ID 可追溯 | 購買結果出現在另一個測試使用者下 |
| SDK 金鑰 | App 使用適用於用戶端的公開 SDK key | 將服務端 secret key 放入 App 或版本庫 |
| 建置環境 | Scheme、商品設定與當前測試環境一致 | 測試設定被帶進正式建置 |
這裡要分清兩類金鑰:App 用戶端 SDK 初始化使用公開 SDK key;服務端 secret key 不應當作 App 端金鑰使用。切換環境後,重新檢查目前建置載入的 key,不要只看專案設定檔名稱來判斷。
注意:文章中的專案 ID、商品 ID 與金鑰都應使用占位符,例如
app.example.subscription、<PUBLIC_SDK_KEY>。不要把有效憑據貼到截圖、日誌或版本庫。
首次購買:用 Test Store 驗證 App 邏輯
RevenueCat Test Store 適合在早期快速確認 SDK 是否接通,以及 App 收到購買結果後有沒有正確更新介面與權益。RevenueCat 文件說明了其測試用途;你可以先在這個環境驗證購買成功、使用者取消,以及測試失敗時的畫面和狀態處理。
App Store Connect 尚未建立商品,可以先測嗎?
可以先用 Test Store 驗證 App 的購買邏輯與權益處理,不必把這一步誤當成 Apple 平台商品已驗收。測試時仍需讓 App 使用的商品設定與 RevenueCat 專案相符;等到驗證 Apple 交易鏈路,再使用與該階段相符的平台商品和環境。
執行時按這個順序檢查:
- 開啟 Test Store 專用的建置設定,確認 App 初始化時使用對應的公開 SDK key。
- 從訂閱頁觸發測試購買,觀察成功、取消或失敗後的介面回應。
- 讀取 CustomerInfo,確認預期 entitlement 是否啟用,並檢查 App 是否依該狀態開放功能。
- 切換測試使用者或重開 App,確認畫面狀態不是只靠本地暫存維持。
- 檢查測試設定沒有進入正式 Scheme;正式建置要使用預期的正式設定與憑據。
如果購買畫面顯示成功但權益沒有解鎖,先比對商品 ID、entitlement 名稱和當前使用者 ID。若 App 只更新訂閱頁上的按鈕,卻沒有依 CustomerInfo 更新實際功能,也不能算完成權益驗收。
模擬器復現:用 StoreKit 配置測交易流程
Test Store 驗證的是 RevenueCat 與 App 邏輯;接著可在 Xcode 使用 StoreKit 配置檔,檢查本地商品和 Apple 平台交易流程如何被 App 處理。Apple 的 Xcode StoreKit Testing 設定文件說明如何設定 StoreKit 測試;RevenueCat 也提供了Apple 平台與本地 StoreKit 測試說明,可供核對 SDK 測試方式與配置要求。
StoreKit 配置檔如何接入 RevenueCat 訂閱測試?
在 Xcode 建立或選取 StoreKit 配置檔,再將它指定給專用 Scheme。依照專案的 RevenueCat SDK 設定,確認執行時使用的是 StoreKit 測試方式,而不是把測試配置與正式商店設定混在一起。具體核對項目如下:
- 將本地配置中的商品識別碼與 RevenueCat 專案中的商品設定逐項比對。
- 在 Scheme 中選對 StoreKit 配置檔,避免另一個 Scheme 沒有載入本地商品。
- 以明確標記的測試建置啟動 App,檢查購買後的 CustomerInfo 和 entitlement。
- 保留測試交易結果與當前 Scheme、提交版本的對應紀錄,方便在不同 Mac 重現。
本地 StoreKit 配置是 Xcode 的測試資料,不會自動替你在 App Store Connect 建立商品。一次模擬器購買成功,也不能證明退款、取消或平台後台事件都已完成驗收。
發布前複驗:以 Apple Sandbox 驗收平台鏈路
當 App 邏輯與本地 StoreKit 流程已核對,再切換到 Apple Sandbox 檢查平台購買鏈路。Apple 的 Sandbox 測試概覽說明測試環境的用途與限制;驗收時應確認登入的測試帳號、平台商品與 RevenueCat 專案設定彼此對應。
Apple Sandbox 的自動續期測試與正式訂閱週期不同;Apple 文件指出,Sandbox 自動續期訂閱最多可續期 12 次。這適合觀察續期相關行為,但不能把測試週期直接當成真實訂閱時長。(Apple Sandbox 測試概覽)
購買流程與商品資訊要分開驗收:
- 交易流程:購買是否完成,App 是否收到預期的交易狀態,RevenueCat 是否回報正確 entitlement。
- 商品資訊:顯示名稱、價格與訂閱週期是否符合你在平台設定中的預期。
- 失敗與取消處理:使用者離開購買流程時,App 是否保留正確狀態,而非誤顯示已訂閱。
- 測試帳號與環境:切換測試帳號或建置設定後,再確認交易結果屬於預期使用者與環境。
模擬器或實體裝置應依專案能力和發布目標選擇,不要假設某一種裝置已替另一種環境完成驗收。需要核實平台帳號或商品鏈路時,依官方文件和實際目標環境測試,並記錄使用的 Scheme、帳號類型及結果。
遠端 Mac 收尾:重現步驟並隔離正式設定
遠端 Mac 可以執行 Xcode 建置與模擬器測試,但「遠端」不會改變 Test Store、StoreKit 配置或 Apple Sandbox 各自的測試邊界。
遠端 Mac 上的 iOS 模擬器能驗證 RevenueCat 購買嗎?
可以用遠端 Mac 啟動 Xcode 模擬器,驗證 App 介面、購買處理和 StoreKit 配置流程;實際能驗證哪些行為,仍取決於你選用的測試環境與設定。若要驗收 Apple 平台交易行為,仍須依目標平台完成 Sandbox 複驗,不能只憑模擬器內的一次成功結果下結論。
把測試流程整理成可以重跑的紀錄:
- 固定同一份程式碼提交,並為 Test Store、StoreKit 配置和正式建置使用清楚的 Scheme 名稱。
- 遠端登入後先確認 Xcode 專案載入的設定、SDK key 和商品識別碼。
- 執行建置、啟動模擬器,按當前階段的測試方式完成購買。
- 記錄 CustomerInfo、entitlement 狀態、測試使用者與結果;日誌不得包含 secret key。
- 切換測試環境後,重新核對金鑰、商品與測試帳號,再開始下一輪驗收。
如果目前是在共用的本地 Mac 測試,Xcode 與模擬器會佔用本機硬碟空間,測試設定也容易與日常開發環境混在一起;沒有 Mac 的團隊則要先取得可執行 Xcode 的環境。你可以先看購買 Mac mini 與租用算力的成本考量,再依測試用途了解遠端 Mac 方案。
若只是短期驗證訂閱流程,租用 MacDate 的遠端 Mac,可把 Xcode 建置與模擬器測試從日常工作環境分開,也不必為一次測試先購買實機;可查看遠端 Mac 租用選項並按你的測試目標確認適用性。若你長期持續執行重負載建置,或必須連接本地實體裝置與周邊設備,自購 Mac 可能更合適。關鍵是別用租用或本機測試的便利性取代發布前的 Apple Sandbox 驗收。