StoreKit Configuration
Overview
StoreKit Configuration は、Xcode 上でアプリの課金アイテムやサブスクリプションをローカルに模擬してテストするための仕組みです。App Store Connect への提出や TestFlight 配信を行わなくても、開発段階で課金UIや処理の動作確認ができます。
なぜ使うのか
- App Store Connect に登録しているプロダクトは、TestFlight や本番配信を通じてでないと RevenueCat や StoreKit から取得できない制限があります。
- StoreKit Configuration を使えば、これらのプロダクトをローカルに定義し、サンドボックス環境で動作確認できます。
- UI の確認、購入処理、リストア、キャンセルなどの一通りのフローをローカルでシミュレートできます。
基本の使い方
-
StoreKit Configuration ファイルを作成する
- Xcode で新規ファイル > StoreKit Configuration を選びます。
- 拡張子は
.storekitになります。
-
プロダクトを定義する
- 商品ID(Product ID)を設定し、サブスクリプションや消耗型など種類を選びます。
- RevenueCat を使っている場合は、RevenueCat の Product ID と一致させます。
-
Xcode の Scheme にファイルを適用する
Product > Scheme > Edit Scheme > Run > Optionsから StoreKit Configuration ファイルを指定します。
-
購入処理をテストする
- アプリを実行し、課金UIが表示され、テスト用の課金動作を確認できます。
よくある注意点
- StoreKit Configuration ファイルを指定していないと、プロダクトが取得できず
PlatformException(23)などのエラーになることがあります。 - iOS 15 以降を対象とする場合は、StoreKit 2 対応(
useStoreKit2IfAvailable: true)を有効にすることでより安定した動作が期待できます。 .storekit内の Product ID のスペルミスには注意(RevenueCat との紐付けで失敗します)。
RevenueCat との連携
StoreKit Configuration を使うことで、RevenueCat の getOfferings() もローカルで有効に動作させられます。次の点を満たす必要があります:
- Offering に紐づく Product ID が .storekit に定義されている
- Xcode の設定で StoreKit ファイルが有効化されている
- 実機・シミュレータどちらでもテスト可能
これにより、審査提出やTestFlight配信前でも、サブスクリプションのUI・購入・キャンセル・リストアなどをほぼ本番同様の環境でテストできます。