Swiftpack.co - RevenueCat/purchases-ios as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by RevenueCat.
RevenueCat/purchases-ios 4.17.8
In-app purchases and subscriptions made easy. Support for iOS, iPadOS, watchOS, and Mac.
⭐️ 1,682
🕓 1 week ago
iOS macOS watchOS tvOS
.package(url: "https://github.com/RevenueCat/purchases-ios.git", from: "4.17.8")

😻 In-App Subscriptions Made Easy 😻

License Version Carthage compatible SwiftPM compatible

RevenueCat is a powerful, reliable, and free to use in-app purchase server with cross-platform support. Our open-source framework provides a backend and a wrapper around StoreKit and Google Play Billing to make implementing in-app purchases and subscriptions easy.

Whether you are building a new app or already have millions of customers, you can use RevenueCat to:

  • Fetch products, make purchases, and check subscription status with our native SDKs.
  • Host and configure products remotely from our dashboard.
  • Analyze the most important metrics for your app business in one place.
  • See customer transaction histories, chart lifetime value, and grant promotional subscriptions.
  • Get notified of real-time events through webhooks.
  • Send enriched purchase events to analytics and attribution tools with our easy integrations.

Sign up to get started for free.


RevenueCat is the client for the RevenueCat subscription and purchase tracking system. It's 100% Swift and compatible with Objective-C.

Migrating from Purchases v3

RevenueCat SDK Features

Server-side receipt validation
➡️ Webhooks - enhanced server-to-server communication with events for purchases, renewals, cancellations, and more
🖥 iOS, tvOS, macOS and watchOS 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 and SDK Reference up to date
🔀 Integrations - over a dozen integrations to easily send purchase data where you need it
💯 Well maintained - frequent releases
📮 Great support - Contact us

Getting Started

For more detailed information, you can view our complete documentation at docs.revenuecat.com.

Please follow the Quickstart Guide for more information on how to install the SDK.

Or view our iOS sample apps:


  • Xcode 13.2+
Platform Minimum target
iOS 11.0+
tvOS 11.0+
macOS 10.13+
watchOS 6.2+

SDK Reference

Our full SDK reference can be found here.


Contributions are always welcome! To learn how you can contribute, please see the Contributing Guide.


Stars: 1682
Last commit: 16 hours ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.


Release Notes

1 week ago


  • DispatchTimeInterval & Date: avoid 32-bit overflows, fix watchOS crashes (#2342) via NachoSoto (@NachoSoto)
  • Fix issue with missing subscriber attributes if set after login but before login callback (#2313) via @tonidero

Performance Improvements

  • AppleReceipt.mostRecentActiveSubscription: performance optimization (#2332) via NachoSoto (@NachoSoto)

Other Changes

  • CI: also run tests on watchOS (#2340) via NachoSoto (@NachoSoto)
  • RELEASING.md: added GitHub rate limiting parameter (#2336) via NachoSoto (@NachoSoto)
  • Add additional logging on init (#2324) via Cody Kerns (@codykerns)
  • Replace iff with if and only if (#2323) via @aboedo
  • Fix typo in log (#2315) via @nickkohrn
  • Purchases.restorePurchases: added docstring about successful results (#2316) via NachoSoto (@NachoSoto)
  • RELEASING.md: fixed hotfix instructions (#2304) via NachoSoto (@NachoSoto)
  • PurchaseTester: fixed leak when reconfiguring Purchases (#2311) via NachoSoto (@NachoSoto)
  • ProductsFetcherSK2: add underlying error to description (#2281) via Chris Vasselli (@chrisvasselli)

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics