RevenueCat iOS 訂閱怎麼本地測試?2026 遠端 Mac 流程

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 驗收。