# Superwall iOS SDK ## Docs - [Superwall](https://superwall.com/docs/ios/sdk-reference/Superwall): The shared instance of Superwall that provides access to all SDK features. - [PurchaseController](https://superwall.com/docs/ios/sdk-reference/PurchaseController): A protocol for handling Superwall's subscription-related logic with your own purchase implementation. - [SubscriptionTransaction](https://superwall.com/docs/ios/sdk-reference/SubscriptionTransaction): Represents a subscription transaction in the customer's purchase history. - [PaywallOptions](https://superwall.com/docs/ios/sdk-reference/PaywallOptions): Configuration for paywall presentation and behavior in the Superwall iOS SDK. - [register()](https://superwall.com/docs/ios/sdk-reference/register): A function that registers a placement that can be remotely configured to show a paywall and gate feature access. - [subscriptionStatus](https://superwall.com/docs/ios/sdk-reference/subscriptionStatus): A published property that indicates the subscription status of the user. - [getPaywall()](https://superwall.com/docs/ios/sdk-reference/advanced/getPaywall): A function that retrieves a PaywallViewController for custom presentation. - [NonSubscriptionTransaction](https://superwall.com/docs/ios/sdk-reference/NonSubscriptionTransaction): Represents a non-subscription transaction (consumables and non-consumables). - [userId](https://superwall.com/docs/ios/sdk-reference/userId): A property on Superwall.shared that returns the current user's ID. - [integrationAttributes](https://superwall.com/docs/ios/sdk-reference/integrationAttributes): Gets the current integration attributes that have been set. - [confirmAllAssignments](https://superwall.com/docs/ios/sdk-reference/confirmAllAssignments): Confirms all experiment assignments and returns them in an array. - [identify()](https://superwall.com/docs/ios/sdk-reference/identify): A function that creates an account with Superwall by linking a userId to the automatically generated alias. - [SuperwallEvent](https://superwall.com/docs/ios/sdk-reference/SuperwallEvent): An enum representing analytical events that are automatically tracked by Superwall. - [getCustomerInfo](https://superwall.com/docs/ios/sdk-reference/getCustomerInfo): Gets the latest CustomerInfo asynchronously. - [getPresentationResult()](https://superwall.com/docs/ios/sdk-reference/getPresentationResult): Check the outcome of a placement without presenting a paywall. - [setIntegrationAttributes](https://superwall.com/docs/ios/sdk-reference/setIntegrationAttributes): Sets integration attributes for third-party analytics and attribution providers. - [configure()](https://superwall.com/docs/ios/sdk-reference/configure): A static function that configures a shared instance of Superwall for use throughout your app. - [getDeviceAttributes](https://superwall.com/docs/ios/sdk-reference/getDeviceAttributes): Gets properties stored about the device that are used in audience filters. - [refreshConfiguration](https://superwall.com/docs/ios/sdk-reference/refreshConfiguration): Manually refreshes the Superwall configuration. Intended for development and wrapper SDKs. - [PaywallPresentationHandler](https://superwall.com/docs/ios/sdk-reference/PaywallPresentationHandler): A handler class that provides status updates for paywall presentation in register() calls. - [handleDeepLink()](https://superwall.com/docs/ios/sdk-reference/handleDeepLink): A function that handles deep links and triggers paywalls based on configured campaigns. - [customerInfo](https://superwall.com/docs/ios/sdk-reference/customerInfo): Contains the latest information about all of the customer's purchase and subscription data. - [entitlements](https://superwall.com/docs/ios/sdk-reference/entitlements): The entitlements tied to the device, accessible via Superwall.shared.entitlements. - [SuperwallDelegate](https://superwall.com/docs/ios/sdk-reference/SuperwallDelegate): A protocol that handles Superwall lifecycle events and analytics. - [setUserAttributes()](https://superwall.com/docs/ios/sdk-reference/setUserAttributes): A function that sets user attributes for use in paywalls and analytics on the Superwall dashboard. - [SuperwallOptions](https://superwall.com/docs/ios/sdk-reference/SuperwallOptions): A configuration class for customizing paywall appearance and behavior. - [Overview](https://superwall.com/docs/ios/sdk-reference): Reference documentation for the Superwall iOS SDK. - [Tracking Subscription State](https://superwall.com/docs/ios/quickstart/tracking-subscription-state): Monitor user subscription status in your iOS app - [Setting User Attributes](https://superwall.com/docs/ios/quickstart/setting-user-properties): Customize paywalls and target users by setting user attributes - [Presenting Paywalls](https://superwall.com/docs/ios/quickstart/feature-gating): Control access to premium features with Superwall placements - [Configure the SDK](https://superwall.com/docs/ios/quickstart/configure): undefined - [User Management](https://superwall.com/docs/ios/quickstart/user-management): Identifying users and managing their identity in your iOS app - [Install the SDK](https://superwall.com/docs/ios/quickstart/install): undefined - [Handling Deep Links](https://superwall.com/docs/ios/quickstart/in-app-paywall-previews): undefined - [Post-Checkout Redirecting](https://superwall.com/docs/ios/guides/web-checkout/post-checkout-redirecting): Learn how to handle users redirecting back to your app after a web purchase. - [Redeeming In-App](https://superwall.com/docs/ios/guides/web-checkout/linking-membership-to-iOS-app): Handle a deep link in your app and use the delegate methods. - [Using RevenueCat](https://superwall.com/docs/ios/guides/web-checkout/using-revenuecat): Handle a deep link in your app and use the delegate methods to link web checkouts with RevenueCat. - [Web Checkout](https://superwall.com/docs/ios/guides/web-checkout): Integrate Superwall web checkout with your iOS app for seamless cross-platform subscriptions - [Migrating from v2 to v3 - iOS](https://superwall.com/docs/ios/guides/migrations/migrating-to-v3): SuperwallKit 3.0 is a major release of Superwall's iOS SDK, previously known as `Paywall`. This introduces breaking changes. - [Migrating from v3 to v4 - iOS](https://superwall.com/docs/ios/guides/migrations/migrating-to-v4): SuperwallKit 4.0 is a major release of Superwall's iOS SDK. This introduces breaking changes. - [Using the Presentation Handler](https://superwall.com/docs/ios/guides/advanced/using-the-presentation-handler): undefined - [Observer Mode](https://superwall.com/docs/ios/guides/advanced/observer-mode): undefined - [Viewing Purchased Products](https://superwall.com/docs/ios/guides/advanced/viewing-purchased-products): undefined - [Request permissions from paywalls](https://superwall.com/docs/ios/guides/advanced/request-permissions-from-paywalls): Trigger the iOS system permission dialog directly from a Superwall paywall action. - [Custom Paywall Actions](https://superwall.com/docs/ios/guides/advanced/custom-paywall-actions): undefined - [Purchasing Products Outside of a Paywall](https://superwall.com/docs/ios/guides/advanced/direct-purchasing): undefined - [Retrieving and Presenting a Paywall Yourself](https://superwall.com/docs/ios/guides/advanced/presenting-paywalls): undefined - [Game Controller Support](https://superwall.com/docs/ios/guides/advanced/game-controller-support): undefined - [Article-Style Paywalls: Inline with Additional Plans](https://superwall.com/docs/ios/guides/embedded-paywalls-in-scrollviews): Embed an inline paywall in a scrollable article and optionally present a second full-screen paywall for additional plans. - [Overriding Introductory Offer Eligibility](https://superwall.com/docs/ios/guides/intro-offer-eligibility-override): Control when users see free trials and intro offers on your paywalls by overriding the default eligibility logic. - [Experimental Flags](https://superwall.com/docs/ios/guides/experimental-flags): undefined - [Advanced Purchasing](https://superwall.com/docs/ios/guides/advanced-configuration): If you need fine-grain control over the purchasing pipeline, use a purchase controller to manually handle purchases and subscription status. - [Cohorting in 3rd Party Tools](https://superwall.com/docs/ios/guides/3rd-party-analytics/cohorting-in-3rd-party-tools): To easily view Superwall cohorts in 3rd party tools, we recommend you set user attributes based on the experiments that users are included in. You can also use custom placements for creating analytics events for actions such as interacting with an element on a paywall. - [Custom Paywall Analytics](https://superwall.com/docs/ios/guides/3rd-party-analytics/custom-paywall-analytics): Learn how to log events from paywalls, such as a button tap or product change, to forward to your analytics service. - [Superwall Events](https://superwall.com/docs/ios/guides/3rd-party-analytics/tracking-analytics): The SDK automatically tracks some events, which power the charts in the dashboard. - [3rd Party Analytics](https://superwall.com/docs/ios/guides/3rd-party-analytics): undefined - [Using Superwall Deep Links](https://superwall.com/docs/ios/guides/superwall-deep-links): How to use Superwall Deep Links to trigger paywalls or custom in-app behavior. - [Making Purchases](https://superwall.com/docs/ios/guides/direct-purchasing): Purchase any StoreKit product easily, with or without a paywall. - [Advanced Configuration](https://superwall.com/docs/ios/guides/configuring): When configuring the SDK you can pass in options that configure Superwall, the paywall presentation, and its appearance. - [Setting up StoreKit testing](https://superwall.com/docs/ios/guides/testing-purchases): undefined - [Using the Superwall Delegate](https://superwall.com/docs/ios/guides/using-superwall-delegate): undefined - [Vibe Coding](https://superwall.com/docs/ios/guides/vibe-coding): How to Vibe Code using the knowledge of the Superwall Docs - [App Store Privacy Labels](https://superwall.com/docs/ios/guides/app-privacy-nutrition-labels): undefined - [Using RevenueCat](https://superwall.com/docs/ios/guides/using-revenuecat): undefined - [Changelog](https://superwall.com/docs/ios/changelog): Release notes for the Superwall iOS SDK - [Welcome](https://superwall.com/docs/ios): Welcome to the Superwall iOS SDK documentation ## Optional - [GitHub](https://github.com/superwall) - [Twitter](https://twitter.com/superwall) - [Blog](https://superwall.com/blog)