How to add Superwall to your iOS app
What Superwall does for an iOS app
The hardest part of monetizing an iOS app is rarely the StoreKit plumbing, it is figuring out which paywall converts. Superwall moves that work off the binary. You build paywalls in its dashboard, assign them to placements like campaign_trigger or onboarding_complete, and run A/B tests on layout and price. Your code registers a placement and Superwall decides whether to show a paywall and which variant. Pricing screens, copy, and experiments change from the dashboard, not from an App Store release.
Adding Superwall with AppFlight
In AppFlight you open the integrations panel, choose Superwall, and paste your public API key from the Superwall dashboard. AppFlight stores it as a client key, which is safe to ship in the app, and never lets a secret value into the binary. If you also use RevenueCat for entitlements, you connect both and the AI can wire Superwall to delegate purchases to RevenueCat. From there you can ask the AI to add a placement and gate a feature, and it generates the SwiftUI for you.
A SwiftUI example
Configure Superwall once at launch, then register a placement to present a paywall:
import SuperwallKit
import SwiftUI
@main
struct MyApp: App {
init() {
Superwall.configure(apiKey: "pk_YourPublicKey")
}
var body: some Scene {
WindowGroup { ContentView() }
}
}
struct ContentView: View {
var body: some View {
Button("Unlock Pro") {
Superwall.shared.register(placement: "unlock_pro") {
// Runs only if the user has access or completes a purchase.
enableProFeatures()
}
}
}
}
Alternatives
RevenueCat owns the entitlement and receipt side and ships a basic paywall builder of its own, so a team that mainly needs reliable subscription state may not need Superwall. StoreKit 2 with a hand-built SwiftUI paywall is the most direct path if you do not care about remote experiments. The case for Superwall is strong when paywall iteration speed and A/B testing matter more than minimizing dependencies.
FAQ
Does Superwall replace RevenueCat?
Not exactly. Superwall focuses on the paywall presentation and remote A/B testing. Many teams pair it with RevenueCat for entitlements and receipt handling, and Superwall has a built-in integration to do that. You can also use Superwall on its own with StoreKit.
Is the Superwall API key a secret?
No. The iOS SDK uses a public API key that is safe to ship in the binary. There is no secret server key to embed in the app. AppFlight stores it as a client key so the wrong value never ends up server-side.
Can I change a paywall without an App Store update?
Yes. Paywalls are configured in the Superwall dashboard and fetched at runtime, so you can edit copy, layout, and pricing experiments without resubmitting. The placement names you register in code stay stable.