My paywall has unexpected presentation behaviour

If you are seeing a paywall when you think you shouldn't or vice versa, we recommend running through the following list to debug:

  1. Check the return value of the delegate method isUserSubscribed(). It's important that the variable here is kept in sync with the subscription status of the user. If it isn't the paywall won't display when it is supposed to. See here for more information about conforming to the delegate.

  2. Check your device. If you have already purchased a subscription on your device, your paywall wouldn't show again. If you're using a local StoreKit file in your app for testing purposes, deleting and reinstalling your app will reset your device's subscription status.

  3. Check your campaign. Are you sending the necessary properties along with your trigger to match the rule? Is your trigger event name spelt correctly? If you have a holdout group in your campaign double check that this isn't the reason your paywall isn't displaying.

My products aren't loading

If your products haven't loaded, you won't see the product data appearing on your paywall and your purchase button won't work. Run through the following list to solve this:

  1. On the Superwall dashboard:
    1. Check that you have added products to the paywall in the paywall editor.
  2. In Xcode:
    1. If you're using a StoreKit configuration file locally, make sure your products have been added to it, either manually or by syncing with App Store Connect.
    2. Make sure your app's bundle ID is the same as your app in App Store Connect.
    3. Check you've added in-app purchase capability to your app's Xcode project.
  3. On App Store Connect:
    1. Make sure your free and paid apps agreements status are active.
    2. Make sure that your tax and banking information has been added.
    3. Make sure your product status is 'Ready to Submit'.
    4. Check that the IDs of your products match those in the paywall.
    5. Make sure you've waited at least 15 minutes after creating a product.