← ClaudeAtlas

storekitlisted

Implement, review, or improve in-app purchases and subscriptions using StoreKit 2. Use when building paywalls with SubscriptionStoreView or ProductView, processing transactions with Product and Transaction APIs, verifying entitlements, handling purchase flows (consumable, non-consumable, auto-renewable), implementing offer codes or promotional/win-back/introductory offers, managing subscription status and renewal state, setting up StoreKit testing with configuration files, or integrating Family Sharing, Ask to Buy, refund handling, and billing retry logic.
dpearson2699/swift-ios-skills · ★ 730 · Data & Documents · score 80
Install: claude install-skill dpearson2699/swift-ios-skills
# StoreKit 2 In-App Purchases and Subscriptions Implement in-app purchases, subscriptions, and paywalls using StoreKit 2 on iOS 26+. Use the modern `Product`, `Transaction`, `StoreView`, and `SubscriptionStoreView` APIs. Avoid the older original StoreKit APIs (`SKProduct`, `SKPaymentQueue`, `SKStoreReviewController`). ## Contents - [Product Types](#product-types) - [Loading Products](#loading-products) - [Purchase Flow](#purchase-flow) - [Transaction.updates Listener](#transactionupdates-listener) - [Entitlement Checking](#entitlement-checking) - [SubscriptionStoreView (iOS 17+)](#subscriptionstoreview-ios-17) - [StoreView (iOS 17+)](#storeview-ios-17) - [Subscription Status Checking](#subscription-status-checking) - [Restore Purchases](#restore-purchases) - [App Transaction (App Purchase Verification)](#app-transaction-app-purchase-verification) - [Purchase Options](#purchase-options) - [SwiftUI Purchase Callbacks](#swiftui-purchase-callbacks) - [Common Mistakes](#common-mistakes) - [Review Checklist](#review-checklist) - [References](#references) ## Product Types | Type | Enum Case | Behavior | |---|---|---| | **Consumable** | `.consumable` | Used once, can be repurchased (gems, coins) | | **Non-consumable** | `.nonConsumable` | Purchased once permanently (premium unlock) | | **Auto-renewable** | `.autoRenewable` | Recurring billing with automatic renewal | | **Non-renewing** | `.nonRenewing` | Time-limited access without automatic renewal | ## Loading Products Defin