Xcode 27.2 RC 優惠碼怎麼測?2026 StoreKit 教學
📋 本文目錄
優惠碼畫面已顯示已兌換,但 App 沒解鎖權益?先分開驗證交易更新與權益處理。 最快做法:用 StoreKit 配置檔測 App 內兌換,再用 Transaction Manager 模擬 App 外兌換;兩條路徑都核對交易更新、權益發放和交易完成。本地測試不能代替 App Store 沙盒或正式環境驗收。
正在為訂閱或內購加入優惠碼入口的 iOS 開發者,可用本文逐步檢查 App 內兌換。 如果你維護 StoreKit 交易監聽與權益邏輯,本文也會帶你驗證 App 外兌換後的處理。 準備使用 Xcode 27.2 RC 的小團隊,則可用最後的驗收關卡區分本地測試證據與正式發布證據。
最後更新:2026 年 10 月 30 日。Xcode 版本日期及上傳狀態依 Apple Developer 發布記錄 與 App Store Connect 更新說明核對;操作依 Apple StoreKit 文件複核。
先確認 RC 狀態,再劃清本地測試與商店驗收
Apple Developer 發布記錄列出 Xcode 27.2 RC 於 2026 年 10 月 19 日發布;App Store Connect 更新說明列明該 RC 建置可用於 App Store 與 TestFlight 上傳。這只確認該 RC 的發布與上傳狀態,不代表 RC 與非 RC 版本的行為相同。開始前,請再查看 Apple Developer 發布記錄 和 App Store Connect 更新說明的最新內容。
本地 StoreKit Testing 的用途,是在 Xcode 測試環境中檢查你設計的兌換流程與交易處理。Apple 將 Xcode 本地測試、Sandbox 測試及其他測試階段分開說明;因此,本地流程通過不等於已在 App Store 沙盒完成驗收,更不等於正式商店交易成功。Apple 對 StoreKit 各測試階段的說明可作為測試範圍的依據。
Xcode 27.2 RC StoreKit 優惠碼測試:本地配置與商店資料的差異
先確認專案所使用的 StoreKit 配置檔,以及要測試的商品和優惠碼;再確認目前執行的 scheme 確實載入該配置。Apple 的 Xcode StoreKit Testing 設定說明涵蓋本地測試配置方式,而 App 內支援優惠碼的文件說明優惠碼兌換與 App 端處理。
留意本地配置與 App Store Connect 商品資料是兩套不同的測試上下文。配置檔中的商品資訊是供本地測試使用,不能當作真實商店的商品價格、優惠資格或交易紀錄。要驗證商店端的實際行為,必須切換到相應的沙盒或正式驗收流程。
Xcode 27.2 RC 怎麼測試 App 內優惠碼兌換?
先在 App 中找到你的兌換入口,確認它會呼叫系統提供的優惠碼兌換介面;接著用載入 StoreKit 配置檔的測試方案啟動 App,選擇已配置的優惠碼並完成確認。不要只截取系統畫面作為通過證據:介面出現或兌換流程結束,只能證明操作進入相應階段,不能單獨證明 App 已收到交易或發出權益。
建議把測試記錄拆成可逐項核對的事件:
- 兌換介面能從 App 的預定入口開啟,並能完成兌換操作。
- App 的交易處理程式收到並驗證對應交易;若使用 StoreKit 2,檢查交易監聽是否涵蓋執行期間到達的更新。Apple 的
Transaction.updates文件說明該序列用於接收交易更新。 - 交易驗證通過後,App 按自己的商品規則更新權益狀態;重新檢查畫面或功能限制,確認權益確實生效。
- 完成必要的交易處理後,再依 StoreKit 流程結束交易。不要在發放權益之前就把「已完成」當成處理成功。
App 內兌換與 App 外兌換:用 Transaction Manager 對照事件來源
兩種路徑驗證的重點不同。App 內兌換由使用者從你的 App 進入兌換介面;App 外兌換則由 Xcode 的 StoreKit Transaction Manager 模擬在 App 之外發生的兌換。Apple 的應用程式外購買測試說明列出以 Transaction Manager 測試這類事件的方式。
| 測試路徑 | 事件如何開始 | 你要檢查什麼 | 適配評級 |
|---|---|---|---|
| App 內兌換 | 從 App 的兌換入口開啟系統介面 | 入口、兌換結果、交易驗證、權益狀態與交易完成 | 高:驗證 App 自有入口時優先 |
| Transaction Manager 模擬 App 外兌換 | 在 Xcode 測試工具中對已配置的商品執行模擬 | App 未由兌換介面啟動時,是否仍收到並處理交易更新 | 高:檢查交易監聽與外部事件處理 |
| App Store 沙盒或正式驗收 | 在相應商店測試環境中完成流程 | 商店端交易、帳號資格與端到端結果 | 必要:本地測試不能代替 |
以上適配評級是依驗證目的作出的流程判斷,不是效能分數,也不代表其中一條路徑可取代另一條。兩種本地路徑都應檢查交易驗證、權益更新及交易完成;App 外模擬特別適合檢查 App 是否只依賴兌換介面回呼,而漏掉後續交易更新。
如何用 Transaction Manager 模擬 App 外兌換?
選擇載入正確 StoreKit 配置檔的測試方案,開啟 Transaction Manager,找到已配置優惠碼的商品,再依工具提供的測試操作模擬 App 外兌換。操作後切回 App,觀察交易監聽是否接收更新,並記錄交易驗證結果、權益變化與交易處理狀態。
Apple 將這類測試描述為模擬 App 外發生的購買或兌換,不應把它寫成使用者已在真實商店完成購買。若工具沒有產生預期事件,先核對目前執行的 App 與測試管理器是否使用同一份配置、商品識別資料是否相符,再檢查交易更新的處理邏輯。
提醒:交易更新到達、交易驗證通過、權益已發放、交易已結束,是不同的檢查點。請逐項留下結果,避免把其中一個畫面或回呼誤當成整條鏈路成功。
交易與資格狀態:重跑前先檢查舊結果
重複測試時,先辨認測試商品的類型、現有交易與使用者資格,再決定能否直接重做。同一優惠碼或商品的再次兌換行為,可能受商品設定、優惠條件與既有交易狀態影響;不要把某一類商品測試時觀察到的結果,直接套用到所有內購或訂閱商品。
優惠碼兌換後怎樣確認 App 收到交易更新?
先在交易監聽或測試記錄中確認對應交易已到達,再查看驗證結果與 App 的權益狀態。若交易到達但權益沒有更新,追查交易處理和權益映射;若沒有交易更新,則先檢查測試方案、商品設定及監聽啟動時機。Apple 的 Transaction.updates 文件可用來核對監聽用途,但實際權益仍須由你的 App 邏輯處理。
StoreKit 優惠碼測試後如何重置交易再測?
先在 Transaction Manager 檢查相關交易與目前測試狀態,再按照商品類型及這次要重現的條件,使用管理器提供的適用清除或重設操作。重設後重新啟動測試並確認使用中的 StoreKit 配置檔。若該商品的資格或交易狀態不適合重複兌換,就改用新的測試條件或轉到相應沙盒流程;不要假設清除一筆本地交易便能重置所有資格。
發布前驗收:把本地通過與商店通過分開記錄
為每次測試保留可重現的記錄:Xcode 版本與 RC 狀態、專案使用的 StoreKit 配置檔、測試路徑、商品識別資料、交易更新結果、權益變化,以及交易是否完成。若團隊使用不同 Mac 執行同一測試,也要確認各自載入相同版本的專案設定與配置檔;不能只因遠端桌面可連線,就推定 StoreKit 測試已經運作。
完成本地檢查後,仍須在與發布流程相符的 App Store 沙盒或正式環境另行驗收。Apple 說明了 Xcode 本地測試與 Sandbox 等階段的差異;即使 Xcode 27.2 RC 可用於 App Store 與 TestFlight 上傳,也不能據此把本地兌換模擬視為商店端交易證據。
如果你現在靠個人 Mac 臨時執行測試,設備需要保持可用、測試環境也容易受本機設定與工作安排牽制;若目前只有 Windows 或 Linux 環境,就不能直接在該環境執行 Xcode 的 StoreKit 本地測試。若你正在比較自購硬體與短期遠端環境,可先參考 Mac mini 購買與價格指南衡量自購是否符合使用週期。對於需要反覆開啟 Xcode、維持測試環境的工作流,MacDate 遠端 Mac 可作為比專門購買一台 Mac 更彈性的選項;不過,若你必須使用實體裝置或長期固定負載,應先評估自購 Mac 是否更合適。你可以查看遠端 Mac 節點方案,再按專案需求判斷是否值得租用。