If you are shipping a subscription iOS app in 2026, you have two real options for handling purchases: RevenueCat or native StoreKit 2. We run both in production at Tappa, and the right answer depends on the app. This is a working engineer's guide to choosing.

What StoreKit 2 gives you, free

StoreKit 2 is a real, modern Swift API. Async/await, well-typed, and tightly integrated with the system. If you are starting today and your app is reasonably simple, StoreKit 2 is now genuinely good enough on its own.

let products = try await Product.products(for: ids)
let result = try await products.first?.purchase()

Three lines, no third-party SDK. The API also handles subscription status, family sharing, and refund flows in ways that used to require RevenueCat to glue together.

What RevenueCat still wins on

Cross-platform. If you have, or will have, an Android version, RevenueCat remains the cleanest abstraction over both stores. We use it on every app where Android is even a theoretical future.

Server-side state. RevenueCat gives you a webhook firehose of subscription events into your own backend. Doing the equivalent with StoreKit 2 means implementing the App Store Server Notifications V2 endpoint yourself, validating signed JWS payloads, and persisting state. Possible, but a real chunk of work.

A/B paywall testing. RevenueCat's paywall A/B testing tooling is now mature enough that even hardened do-it-yourselfers find it useful. We use it on apps where pricing experimentation is constant.

Analytics. Out of the box, RevenueCat gives you cohort retention, MRR, churn, and LTV. Building those yourself is doable, but it is real engineering and ongoing work.

The decision tree we use

What we run

The non-obvious answer is: start with StoreKit 2 for v1 unless you have a clear, immediate reason for RevenueCat. Migrating later is annoying but doable. Starting on RevenueCat for an app that never needs it is paying rent on infrastructure you will not use.

If you want to talk through a specific app's choice, write us. We are happy to give honest engineering advice.