storekit2-iap-defaults

Installation
SKILL.md

StoreKit 2 IAP Defaults

Default shape for the smallest IAP most solo/small apps ship: one non-consumable unlock (Remove Ads, Pro Unlock). Product, Transaction, and AppStore have no public initializers — you cannot construct a fixture — so the seam below exists to make StoreKit 2 testable at all, not for abstraction's sake.

When to invoke

  • Adding a first non-consumable IAP to a new or existing app.
  • Wiring Product.products(for:), Transaction.updates, Transaction.currentEntitlements, or AppStore.sync().
  • Deciding where entitlement state lives, when to call finish(), or how to implement Restore Purchases.
  • Setting up a .storekit configuration file or a StoreKit unit-test seam.
  • Asked "how do I test a purchase without a sandbox account" or "why isn't my unlock surviving reinstall".
Installs
8
GitHub Stars
18
First Seen
Sep 11, 2026