メインコンテンツまでスキップ

StoreKit Configuration

Overview

StoreKit Configuration は、Xcode 上でアプリの課金アイテムやサブスクリプションをローカルに模擬してテストするための仕組みです。App Store Connect への提出や TestFlight 配信を行わなくても、開発段階で課金UIや処理の動作確認ができます。

なぜ使うのか

  • App Store Connect に登録しているプロダクトは、TestFlight や本番配信を通じてでないと RevenueCat や StoreKit から取得できない制限があります。
  • StoreKit Configuration を使えば、これらのプロダクトをローカルに定義し、サンドボックス環境で動作確認できます。
  • UI の確認、購入処理、リストア、キャンセルなどの一通りのフローをローカルでシミュレートできます。

基本の使い方

  1. StoreKit Configuration ファイルを作成する

    • Xcode で新規ファイル > StoreKit Configuration を選びます。
    • 拡張子は .storekit になります。
  2. プロダクトを定義する

    • 商品ID(Product ID)を設定し、サブスクリプションや消耗型など種類を選びます。
    • RevenueCat を使っている場合は、RevenueCat の Product ID と一致させます。
  3. Xcode の Scheme にファイルを適用する

    • Product > Scheme > Edit Scheme > Run > Options から StoreKit Configuration ファイルを指定します。
  4. 購入処理をテストする

    • アプリを実行し、課金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・購入・キャンセル・リストアなどをほぼ本番同様の環境でテストできます。

Resource