We're in the process of migrating the entire framework over to Swift 🎉. The new framework is called RevenueCat.framework
. While this migration is happening, you can (and should) still use the currently supported production version you know and love. If you'd like to help us by testing our beta, please feel free!
Swift Package Manager (SPM) integration is currently not working as expected. If you wish to use the currently supported and stable Purchases
framework (version 3.13.1), you'll need to specify < 4.0.0
or for your dependencies in Xcode. By default, Xcode will specify exactly 4.0.0
and that won't work because we haven't released that version yet, only 4.0.0-beta.x
.
Purchases and RevenueCat are clients for the RevenueCat subscription and purchase tracking system.
Purchases is the currently supported, production-ready, open source framework that provides a wrapper around StoreKit
and the RevenueCat backend to make implementing in-app subscriptions in Swift
or Objective-C
easy - receipt validation and status tracking included!
RevenueCat is our next big release (what we've been calling Purchases V4). It is a rename of Purchases
to RevenueCat
, and now, 100% Swift. It contains all the same functionality (and almost exactly the same API) as Purchases
. It's not a brand-new framework, but rather, a migration of the ObjC bits over to Swift with improved nullability, various bug fixes, and some new features. You can see what's changed in the API updates doc.
It also includes StoreKit2
support! You can enable it when setting up the framework:
Purchases.configure(
withAPIKey: "your_api_key",
appUserID: nil,
observerMode: false,
userDefaults: nil,
useStoreKit2IfAvailable: true
)
The framework is nearly production-ready, but we're going to keep it in beta while we continue to work on the StoreKit2
bits and iron out any remaining bugs folks find.
Are you here because you saw a build warning about being on the Beta?
If you're cool being in the beta, there's nothing more for you to do 🎉 If you think you've made a mistake:
- First, you'll need to remove the ReveneCat package from your project.
- Next, re-add it, but make sure you update the package's repo rules to use
3.0.0 < 4.0.0
- You need to use
Purchases
pod instead ofRevenueCat
- You need to use
github "RevenueCat/purchases-ios" ~> 3.12
in yourCartfile
- You'll want to check out one of the
3.x
Purchases.framework tags.
Once you revert to version 3 of the framework you'll need to do a reverse migration. While not explicitly outlined in our API updates doc. You can see the differences between v3 and V4. The changes are mostly naming updates, so don't worry about having to refactor things beyond that.
RevenueCat | |
---|---|
✅ | Server-side receipt validation |
➡️ | Webhooks - enhanced server-to-server communication with events for purchases, renewals, cancellations, and more |
🖥 | macOS support |
🎯 | Subscription status tracking - know whether a user is subscribed whether they're on iOS, Android or web |
📊 | Analytics - automatic calculation of metrics like conversion, mrr, and churn |
📝 | Online documentation up to date |
🔀 | Integrations - over a dozen integrations to easily send purchase data where you need it |
💯 | Well maintained - frequent releases |
📮 | Great support - Help Center |
For more detailed information, you can view our complete documentation at docs.revenuecat.com.
Or browse our iOS sample apps: