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, orAppStore.sync(). - Deciding where entitlement state lives, when to call
finish(), or how to implement Restore Purchases. - Setting up a
.storekitconfiguration 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".