LimitedRound 2 is open. Get your first month free, no extra charge.Join the waitlist ›
iOS, defined

What is StoreKit?

TL;DR. StoreKit is Apple framework for selling in-app purchases and subscriptions, processing App Store transactions, requesting App Store reviews, and presenting store content from inside an app. StoreKit 2 is the modern Swift API that uses async/await and on-device transaction verification.

StoreKit is Apple's framework for selling in-app purchases and subscriptions and for working with the App Store from inside an app. It handles fetching the products you have configured, starting and completing purchases, reporting what the user is entitled to, and related features like requesting a review or redeeming offer codes. Anything an iOS app sells directly through Apple billing goes through StoreKit.

What StoreKit does

The core job of StoreKit is the purchase lifecycle. It loads your product definitions from App Store Connect, presents and processes a purchase, and reports the user's current entitlements so you know which paid features to unlock. It supports the main purchase types: consumables, non-consumables, and auto-renewable subscriptions. Beyond purchases, StoreKit also provides smaller App Store features, such as asking for a rating and review at a good moment, presenting the App Store product page for another app, and handling promoted in-app purchases. For testing, Xcode ships a StoreKit configuration that simulates products locally so you can exercise flows without real charges.

StoreKit 1 versus StoreKit 2

There are two generations of the API. StoreKit 2 is the modern Swift version built around async/await, with clear Product and Transaction types and transaction information that is cryptographically signed and verifiable on device. That design removes much of the manual receipt parsing the older API required. StoreKit 1 is the earlier interface that leans on receipt validation, frequently done on a server. New apps generally target StoreKit 2 where their minimum iOS version allows, while StoreKit 1 remains in many existing codebases.

StoreKit, third-party tools, and how AppFlight fits

Because handling purchases, renewals, and entitlements correctly takes care, many teams use a tool like RevenueCat that wraps StoreKit and manages entitlements and receipts across platforms. AppFlight builds native Swift and SwiftUI projects and offers one-click integrations for RevenueCat and Superwall, so an app can present a paywall and sell in-app purchases through StoreKit with the billing logic wired in, whether you call StoreKit directly or through a layer on top of it.

FAQ

What is the difference between StoreKit 1 and StoreKit 2?

StoreKit 2 is a modern Swift API built around async/await with Product and Transaction types and on-device, cryptographically signed transaction info, which removes much of the old receipt parsing. StoreKit 1 is the older Objective-C era API that relies on receipt validation, often server-side.

Do I need StoreKit to sell subscriptions on iOS?

Selling digital in-app purchases and subscriptions on iOS goes through StoreKit and Apple billing. You can use StoreKit directly, or use a tool like RevenueCat that wraps StoreKit and handles entitlements and receipts for you.

Can I test StoreKit purchases without real charges?

Yes. Xcode includes a StoreKit testing configuration that simulates products and purchases locally, and App Store Connect provides sandbox testing with test accounts, so you can verify purchase flows without real money.

Sources

Build this app without opening Xcode.

AppFlight turns a plain-English prompt into a real native iOS app and ships it to the App Store. Round 2 is open: free for your first month.

Join the waitlist