This guide is archived. For current information on this topic, please see our blog.
Testing App Store subscriptions is incredibly important, but also very hard to do well. Apple’s subscription-related documentation is... um... lacking, and Apple has never been great about providing testing resources. This guide will evolve over time as Apple makes changes to subscriptions and we figure out better ways to test. If you see anything that needs to be fixed or have anything to add, please submit a pull request!
There are 3 distinct testing environments: Production (App Store), TestFlight (Production Sandbox), and Sandbox (Developer Builds). Each behaves slightly differently and needs to be tested independently.
The developer sandbox is the first line of defense. Make sure you understand the quirks and limitations during development to save time when you move on to production testing.
While not especially helpful with beta testers, you should definitely spend some time testing in the production sandbox before shipping. TestFlight behaves like the sandbox but uses production App Store accounts.
There are a few tricks to testing in production even before a release hits the App Store, but you’ll also want to keep testing live on the App Store as the app is updated.
The limitations of production sandbox subscription testing makes it tough for beta testers to adequately test subscriptions for you.
You can offer a discounted price or free trial of an auto-renewable subscription so new customers can experience the value of your subscription before paying full price.
Apps with auto-renewable subscriptions can offer a discounted price for a specific duration for existing or previously subscribed customers.
This handy checklist will help you make sure you’ve covered your bases while testing subscriptions.
There are too many random, poorly documented behaviors to create a page for each. This is a collection of random things that might be helpful to know.