Consumer Mobile

iOS Subscription App Stack

Production-ready toolchain for building an iOS app with in-app purchases, subscriptions, crash monitoring, and growth analytics.

iOS developers, indie hackers, and mobile growth teams shipping subscription-based apps on the App Store $0–$450 at launch (RevenueCat free up to $2.5k MRR, Firebase Spark free tier, AppsFlyer free up to 6k installs/month, Amplitude free up to 10M events, OneSignal free up to 10k subscribers). Scales to ~$500–$2k/month at $50k MRR. 📦 9 tools
Launching a paid iOS app in 2026 means wrestling with StoreKit 2, App Store Review, receipt validation, subscription lifecycle management, churn prevention, and attribution — all before a single user pays you. This stack wires together the best-in-class tools for each concern so you can ship a monetised iOS app without building payment plumbing from scratch. RevenueCat handles the entire subscription lifecycle (purchase, restore, grace periods, billing-retry), Superwall lets you A/B test paywalls without resubmitting to App Store Review, and AppsFlyer ties every install to the campaign that drove it — all while Sentry and Firebase Crashlytics keep the app stable. The result is a repeatable, revenue-optimised iOS monetisation architecture that works at every scale, from indie launch to Series B.

The Stack

RevenueCat

— Subscription & IAP management

Abstracts StoreKit 2 and StoreKit 1, handles receipt validation, webhooks, entitlements, and subscriber lifecycle events across all Apple platforms with a single SDK.

Alternatives: adapty, glassfy, qonversion

Superwall

— Paywall A/B testing & remote config optional

Lets you iterate on paywall copy, pricing, and layout remotely without an App Store release cycle, with built-in conversion tracking.

Alternatives: purchasely, adapty

Firebase

— Auth, real-time database & remote config

Firebase Auth handles Sign in with Apple (required by App Store guidelines), Firestore stores user data, and Remote Config controls feature flags without a redeploy.

AppsFlyer

— Mobile measurement & attribution

SKAdNetwork-compatible MMP that accurately attributes paid installs to campaigns and passes conversion values back to ad networks under iOS 14+ privacy rules.

Alternatives: adjust, singular, kochava

Sentry

— Error monitoring & performance tracing

Captures Swift/Objective-C crashes and ANRs with full stack traces, session replay, and performance breadcrumbs — faster triage than native Xcode organiser.

Alternatives: bugsnag, firebase-crashlytics, datadog

Firebase Crashlytics

— Crash reporting (second layer) optional

Google's free crash reporter integrates natively with Firebase Analytics for crash-free users metric and is required by many App Store Connect data dashboards.

Amplitude

— Product analytics & funnel analysis

Tracks funnel steps from install → trial → paid → churn with cohort retention analysis, crucial for validating paywall experiments driven by Superwall.

Alternatives: mixpanel, posthog, google-analytics

OneSignal

— Push notifications & in-app messaging

Sends trial-ending reminders, re-engagement nudges, and feature announcements via APNs with a visual automation builder — no backend code required.

Alternatives: braze, airship, clevertap

Fastlane

— CI/CD & App Store delivery optional

Automates code signing, screenshot generation, and App Store Connect uploads so every release is a single command rather than a 45-minute manual process.

Alternatives: codemagic, bitrise, xcode-cloud

Gotchas

  • ⚠️ StoreKit 2 (iOS 15+) uses async/await and server-to-server JWS receipts instead of the legacy base64 receipt blob. If you support iOS 14, RevenueCat's SDK silently falls back to StoreKit 1 — but your backend webhooks will look different. Audit your webhook handlers for both receipt formats before launch.
  • ⚠️ SKAdNetwork 4.0 gives you up to 64 conversion values and two postback windows, but ad networks must be registered in your Info.plist. A missing or stale SKAdNetworkItems list means zero attribution for entire ad networks. Run AppsFlyer's SKAdNetwork validation tool before your first paid campaign.
  • ⚠️ Apple's App Store Review guideline 3.1.1 requires Sign in with Apple whenever any other third-party social login is offered. Firebase Auth supports Sign in with Apple, but you must handle the 'real name' and private relay email edge cases (users may get a randomised @privaterelay.appleid.com address) — store the Apple User ID as your canonical identifier, not the email.

Related Stacks