Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.swiftaiboilerplate.com/llms.txt

Use this file to discover all available pages before exploring further.

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

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

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

Create New App

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Payments Module

Technical documentation

Feature Settings

Paywall UI details

Building Your App

Customize subscriptions

Supabase Setup

Configure backend first

Need Help?