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.14.3
In-app purchases and subscriptions made easy. Support for iOS, iPadOS, watchOS, and Mac.
⭐️ 1,568
🕓 2 days ago
iOS macOS watchOS tvOS
.package(url: "https://github.com/RevenueCat/purchases-ios.git", from: "4.14.3")

😻 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: 1568
Last commit: Yesterday
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

3 days ago


  • Changed default UserDefaults from .standard to our own Suite (#2046) via NachoSoto (@NachoSoto)

Other Changes

  • Logging: added log when configuring SDK in observer mode (#2065) via NachoSoto (@NachoSoto)
  • PurchaseTesterSwiftUI: added observer mode setting (#2052) via NachoSoto (@NachoSoto)
  • Exposed SystemInfo.observerMode to simplify code (#2064) via NachoSoto (@NachoSoto)
  • Result.init(catching:) with async method (#2060) via NachoSoto (@NachoSoto)
  • Updated schemes and project for Xcode 14.1 (#2081) via NachoSoto (@NachoSoto)
  • PurchasesSubscriberAttributesTests: simplified tests (#2056) via NachoSoto (@NachoSoto)
  • DeviceCache: removed fatalError for users not overriding UserDefaults (#2079) via NachoSoto (@NachoSoto)
  • DeviceCache: changed NotificationCenter observation to be received on posting thread (#2078) via NachoSoto (@NachoSoto)
  • StoreKit1Wrapper: added instance address when detecting transactions (#2055) via NachoSoto (@NachoSoto)
  • Fixed lint issues with SwiftLint 0.5.0 (#2076) via NachoSoto (@NachoSoto)
  • NSData+RCExtensionsTests: improved errors (#2043) via NachoSoto (@NachoSoto)
  • APITester: fixed warning in SubscriptionPeriodAPI (#2054) via NachoSoto (@NachoSoto)
  • Integration Tests: always run them in random order locally (#2068) via NachoSoto (@NachoSoto)

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