Skip to main content
Find complete step-by-step guide in your project: revenuecat.md

What You’ll Set Up

Subscriptions

Monthly and annual subscription plans

Paywall

Beautiful subscription UI (already built!)

Prerequisites

RevenueCat and subscriptions integration is the hardest part. If you nail this, the rest is easy! Do not hesitate to contact us for questions.

Part 1: App Store Connect Setup

1

Step 12: Create Bundle Identifier

Go to App Store ConnectCertificates, Identifiers & ProfilesIdentifiers (left menu) → Add new identifier.Create a new App ID with your bundle identifier (e.g., com.yourcompany.yourapp).
2

Step 13: Enable Capabilities

Select your App ID and enable the required capabilities:
  • ✅ Push Notifications
  • ✅ In-App Purchase
  • ✅ Sign in with Apple
  • ✅ Associated Domains
  • ✅ Any other capabilities you need
3

Step 14: Create New App

Go to Apps in App Store Connect and click Create new app (+ button).
4

Step 15: Fill App Form

Fill the form with your bundle ID and create the app:
  • Platform: iOS
  • Name: Your App Name
  • Primary Language: English (or your language)
  • Bundle ID: Select the one you created
  • SKU: A unique identifier (e.g., yourapp2024)
5

Step 16: Create Subscription Group

If you’re adding subscriptions:
  1. Go to Subscriptions from the left menu
  2. Click Create to add a new subscription group
  3. Name it (e.g., “Premium Access”)
6

Step 17: Create Subscriptions

Create subscriptions under the subscription group:
  • Add Monthly subscription (e.g., monthly_subscription)
  • Add Annual subscription (e.g., annual_subscription)
Make sure to note down the Product IDs exactly as you create them. Arrange their order in descending order as described by Apple (longest duration first).

Part 2: RevenueCat Dashboard Setup

1

Step 18: Create RevenueCat Project

Go to RevenueCat and create a new project:
  1. Click Create New Project
  2. Name your project
  3. Select iOS as platform
2

Step 19: Create Offerings

Create a new offering in RevenueCat:
  1. Go to ProductsEntitlements
  2. Create entitlement named pro (or your choice)
  3. Go to Offerings and create a new offering
  4. Add your subscription products to the offering
Make 100% sure the entitlement name matches what you use in your app code and note it down.
3

Step 20: SDK Already Installed

The RevenueCat SDK is already installed in the boilerplate!Just make sure:
  • Package dependencies are resolved in Xcode
  • You have your test API key ready
All other steps suggested by RevenueCat (like SDK initialization) are already implemented in the boilerplate with a better approach.
4

Step 21: Update Config with API Key

Add your test API key to Config/Secrets.xcconfig:
REVENUECAT_API_KEY = appl_YOUR_TEST_API_KEY
RC_ENTITLEMENT_ID = pro
Then run the update config script again:
bash scripts/update-config.sh
This will update the generated Configuration.swift file. Verify it’s updated correctly.

Part 3: Testing Configuration

1

Step 22: Disable Auth Bypass

In Xcode, configure the scheme for testing:
  1. Select your target from top menu
  2. Edit SchemeArguments tab
  3. Set AUTH_BYPASS argument to 0
2

Step 23: StoreKit Configuration

For simulator testing:
  1. Select your target → Edit Scheme
  2. Go to Options tab
  3. StoreKit Configuration → Select your config file
For real device testing, leave StoreKit Configuration set to None.
3

Step 24: Verify Subscription Status

Make sure the statuses of your subscriptions are Ready to Submit in App Store Connect.Check each subscription product and ensure all required fields are filled.
4

Step 25: App Store Connect API Key

Configure your App Store Connect API Key in RevenueCat:

RevenueCat Official Guide

Follow RevenueCat’s official documentation for App Store Connect API key setup
We’re not documenting this step in detail because when Apple changes it, RevenueCat updates their docs immediately.
5

Step 26: Map Product IDs Correctly

In your RevenueCat offering, make sure to map the correct test product with your real App Store product.
Product IDs must match exactly. For example, if your 12-month subscription is mapped to a 1-month test product, it won’t work. They must be mapped correctly.
6

Step 27: Verify Offerings Load

Run your app and navigate to the paywall. You should see your subscription offerings loading correctly.
Detailed live RevenueCat logs are added to the project. If you have problems fetching products, analyze the console logs.

Part 4: Sandbox Testing

1

Step 28: Create Sandbox Account

Create a sandbox test account:
  1. Go to App Store Connect
  2. Users and AccessSandbox
  3. Create a new sandbox tester account
2

Step 29: Sign In on Device

On your simulator or device:
  1. Go to SettingsDeveloper
  2. Sign in with your Sandbox Account
  3. Try purchasing from your app
3

Step 30: Common Issue - Bundle Mismatch

Be aware of this common issue: Bundle ID mismatch between App Store Connect and RevenueCat.
Make sure to upload a build to App Store Connect first. This registers your bundle ID properly and resolves many “products not found” issues.
4

Step 31: Verify on Dashboard

Check the RevenueCat customers dashboard after making a test purchase.
It may take some time (up to an hour) for transactions to appear in the dashboard.

What You Get

After setup:
  • ✅ Working subscription purchases
  • ✅ Beautiful paywall UI
  • ✅ Subscription status tracking
  • ✅ Restore purchases functionality
  • ✅ Simulator testing with StoreKit Configuration
  • ✅ Detailed logging for debugging

Product Setup Example

Monthly Subscription:
  • Product ID: monthly_subscription
  • Type: Auto-Renewable Subscription
  • Price: $9.99/month
Annual Subscription:
  • Product ID: annual_subscription
  • Type: Auto-Renewable Subscription
  • Price: $79.99/year

Troubleshooting

  • Verify Product IDs match exactly in App Store Connect, RevenueCat, and StoreKit config
  • Upload a build to App Store Connect first
  • Check RevenueCat logs in console
  • Ensure subscription status is “Ready to Submit”
  • Sign out of real App Store account
  • Sign in with sandbox account in Settings → Developer
  • Restart the app
  • Try again
  • Verify entitlement name matches in code and RevenueCat dashboard
  • Check that products are correctly mapped to entitlement
  • Wait a few minutes and check RevenueCat dashboard
  • Ensure bundle ID in Xcode matches App Store Connect
  • Upload a test build to App Store Connect
  • Re-sync products in RevenueCat

Need Help?