Loading...
Loading...
Use when implementing in-app purchases, StoreKit 2 subscriptions, consumables, non-consumables, or transaction handling. Covers testing-first workflow with .storekit configuration, StoreManager architecture, and transaction verification.
npx skill4agent add johnrogers/claude-swift-engineering storekit| Reference | Load When |
|---|---|
| Getting Started | Setting up |
| Products | Loading products, product types, purchasing with |
| Subscriptions | Auto-renewable subscriptions, subscription groups, offers, renewal tracking |
| Transactions | Transaction listener, verification, finishing transactions, restore purchases |
| StoreKit Views | ProductView, SubscriptionStoreView, SubscriptionOfferView in SwiftUI |
.storekitStoreManager@MainActorTransaction.updatesProductViewtransaction.finish()@MainActor
final class StoreManager: ObservableObject {
@Published private(set) var products: [Product] = []
@Published private(set) var purchasedProductIDs: Set<String> = []
private var transactionListener: Task<Void, Never>?
init() {
transactionListener = listenForTransactions()
Task { await loadProducts() }
}
}.finish()transaction.finish()finish()StoreManager@MainActor@Published@MainActorTransaction.updates@main