iOS
Instructions for installing Purchases SDK for iOS
What is RevenueCat?
RevenueCat provides a backend and a wrapper around StoreKit and Google Play Billing to make implementing in-app purchases and subscriptions easy. With our SDK, you can build and manage your app business on any platform without having to maintain IAP infrastructure. You can read more about how RevenueCat fits into your app or you can sign up free to start building.
Requirements
Xcode 13.2+
Minimum target: iOS 11.0+
Installation
Purchases for iOS can be installed either via CocoaPods, Carthage, or Swift Package Manager.
Already have 3.x installed? View our migration guide to 4.x
Install via Swift Package Manager
You can use Swift Package Manager to add Purchases to your Xcode project. Select File Β» Swift Packages Β» Add Package Dependency...
and specify the repository URL of the Purchases
library: https://github.com/RevenueCat/purchases-ios.git
. Set the Dependency Rule to Up to next major
, and the version number to 4.0.0 < 5.0.0
. Finally, choose the target where you want to use it. The library should have been added to the Swift Package Dependencies section and you should be able to import it now.


v4.0.0 Changes
This version includes several improvements to our API. Please refer to our v4 API changes doc for more details.
Install via CocoaPods
To always use the latest release, add the following to your Podfile:
pod 'RevenueCat'
Alternatively, pin to a specific minor version:
pod 'RevenueCat', '~> 4.0.0'
And then run:
pod install
This will add RevenueCat.framework
to your workspace.
Install via Carthage
Note: We recommend using Carthage versions >= 0.37.
Carthage versions < 0.37 have a bug which makes usingcarthage update --no-use-binaries
produce build issues on Xcode 12. More information on this issue is available here http://github.com/Carthage/Carthage/issues/3019.
To always use the latest release, add the following to your Cartfile:
github "revenuecat/purchases-ios"
Alternatively, pin to a specific minor version:
github "revenuecat/purchases-ios" ~> 4.0.0
Carthage with XCFrameworks
If you're using Carthage version >= 0.37, you can use Purchases as an XCFramework instead of a Universal Framework. This makes setup easier, since you don't have to set up build phases at all.
To use XCFrameworks with Carthage, you need to pass in --use-xcframeworks
.
carthage update --use-xcframeworks
More information on using XCFrameworks with Carthage is available at https://github.com/carthage/Carthage/#building-platform-independent-xcframeworks-xcode-12-and-above
Under certain configurations, when debugging your app, using
po
to print objects to the console might result in an error"Couldn't IRGen Expression"
. If you run into this, one workaround is to add a single, empty Objective-C file to your project, and create a bridging header. There's more information on this issue here
Carthage with regular frameworks
Run:
carthage update
Import the SDK
Objective-C Only Projects
You may need to add an empty Swift file and a bridging header to your project before compiling.
You should now be able to import RevenueCat
.
import RevenueCat
@import RevenueCat;
// or
#import "Purchases.h"
Enable In-App Purchase capability for your project
Don't forget to enable the In-App Purchase capability for your project under
Project Target -> Capabilities -> In-App Purchase


Next Steps
- Now that you've installed the SDK in your iOS app, get started by configuring an instance of Purchases
Updated 22 days ago