Swiftpack.co - superwall-me/Superwall-iOS as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by superwall-me.
superwall-me/Superwall-iOS 3.0.0-rc.7
Remotely configure every aspect of your paywall and double your revenue.
⭐️ 40
🕓 4 days ago
iOS macOS watchOS
.package(url: "https://github.com/superwall-me/Superwall-iOS.git", from: "3.0.0-rc.7")


In-App Paywalls Made Easy 💸

SwiftPM Compatible Cocoapods Compatible iOS Versions Supported MIT License Community Active Version Number

Superwall lets you remotely configure every aspect of your paywall — helping you find winners quickly.

Paywall.framework (currently supported)

We're in the process of releasing a new v3 version of the framework called SuperwallKit.framework. It's currently in beta status. If you don't want to use the beta, please use Paywall.framework, which is available on version 2.x.

Migrating to v3

SuperwallKit.framework Beta

SuperwallKit and Paywall are clients for Superwall's remote paywall configuration platform.

Paywall is the currently supported, production-ready, open source framework that provides a wrapper around WebKit for presenting and creating paywalls. It interacts with the Superwall backend letting you easily iterate paywalls on the fly in Swift or Objective-C!

SuperwallKit is our next big release. It is a rename of Paywall to SuperwallKit and contains a lot of breaking changes. You can see the changes in our changelog.


Server-side paywall iteration
🎯 Paywall conversion rate tracking - know whether a user converted after seeing a paywall
🆓 Trial start rate tracking - know and measure your trial start rate out of the box
📊 Analytics - automatic calculation of metrics like conversion and views
✏️ A/B Testing - automatically calculate metrics for different paywalls
📝 Online documentation up to date
🔀 Integrations - over a dozen integrations to easily send conversion data where you need it
💯 Well maintained - frequent releases
📮 Great support - email a founder: [email protected]


Swift Package Manager

The preferred installation method is with Swift Package Manager. This is a tool for automating the distribution of Swift code and is integrated into the swift compiler. In Xcode, do the following:

  • Select File ▸ Add Packages...
  • Search for https://github.com/superwall-me/Superwall-iOS in the search bar.
  • Set the Dependency Rule to branch with the value set to master. If you're wanting to install v2.x, set the Dependency Rule to Up to Next Major Version with the lower bound set to 2.0.0.
  • Make sure your project name is selected in Add to Project.
  • Then, Add Package.


Cocoapods is an alternative dependency manager for iOS projects. For usage and installation instructions, please visit their website. To include the Superwall SDK in your app, add the following to your Podfile:

pod 'SuperwallKit', '3.0.0-rc.7'

If you don't want to use the v3 beta, you'll need to add this instead:

pod 'Paywall', '< 3.0.0'

Then, run pod install.

Getting Started

With v3

Sign up for a free account on Superwall and read our docs.

You can also view our iOS SDK docs. If you'd like to view it in Xcode, select Product ▸ Build Documentation.

Check out our sample apps for a hands-on demonstration of the SDK:

With v2

Sign up for a free account on Superwall and read our docs.

You can also view our iOS SDK docs.

Read our Kodeco (Ray Wenderlich) tutorial: Superwall: Remote Paywall Configuration on iOS


Please see the CONTRIBUTING file for how to help.


Stars: 40
Last commit: 3 days ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

4 days ago

Breaking Changes

  • Exposes the transactionBackgroundView PaywallOption to Objective-C by making it non-optional and adding a none case in place of setting it to nil.
  • Renames getPaywallViewController to getPaywall.
  • Renames paywallStatePublisher property on PaywallViewController to statePublisher.
  • Changes the presentation error domain code from SWPresentationError to SWKPresentationError.


  • Adds paywall caching. This is disabled by default but we'll roll this out to users accounts remotely. With this enhancement, your paywalls will load lightning fast and will reduce network load of your app.
  • Exposes Logging SuperwallOption to Objective C.
  • Exposes info on the PaywallViewController.
  • Adds rawTrialPeriodPrice, trialPeriodPrice, trialPeriodDailyPrice, trialPeriodWeeklyPrice, trialPeriodMonthlyPrice, trialPeriodYearlyPrice.


  • Fixes issue where a crash would occur if storage was full and a persistent container couldn't be created.
  • Fixes thread safety issue when using a lazy variable to retrieve products.
  • If the internet is offline when trying to present a paywall, the paywall configuration hasn't been retrieved, and the user is not subscribed, it now throws a presentationError. If the internet reconnects future paywalls will show.
  • Fixes retry logic for requests.
  • Fixes crash when handling a deep link.
  • Creates a strong reference to the purchase controller as it was getting deallocated if you didn't keep a hold on it.

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics