Apple Testing Environments
There are several different ways to test your Apple purchase flow with Nami. Each testing environment has different characteristics and limitations, outlined in the following table.
bypassStore | StoreKit config file | Device Sandbox | TestFlight | Production | |
---|---|---|---|---|---|
Requires app to be configured in App Store Connect | No | No | Yes | Yes | Yes |
Requires sandbox testing account registered in App Store Connect? | No | No | Yes | No | No |
Can be done on simulator? | Yes | Yes | No | No | n/a |
Can be done on real device | Yes | Yes | Yes | Yes | Yes |
Can set purchase acceleration for subscriptions | Yes, in Xcode settings | Yes, in App Store Connect | No | No | |
Can manage subscriptions and products? | Yes, by SDK method | Yes, in Xcode > Debug > StoreKit > Edit Transactions | Yes, in device Settings > App Store > Sandbox Account > Manage | No | Yes, in App Store settings |
Will send Server-to-Server notifications? | No | No | Yes, if configured | Yes, if configured | Yes, if configured |
Transactions appear in Nami Control Center? | Yes, under 'Testing and Development' environment | Yes, under 'Testing and Development' environment | Yes, under 'Testing and Development' environment | Yes, under 'Testing and Development' environment | Yes, under 'Production' environment |
Nami entitlement granted? | Yes | No* | Yes | Yes | Yes |
Check out Apple's resource on Testing at all Stages of Development
Selecting a Testing Environment
I want to do in-depth testing of my purchase flows before my app goes to production. Select Sandbox testing environment. This will allow you to test multiple purchase flows quickly on a real device.
I want to test localized products on my paywall. Select StoreKit config file. You can configure the Storefront country and localization to make sure currency and language render properly. Learn how to setup a StoreKit config file.
I want to do final beta testing with internal or external testers before my app goes live. Select TestFlight and distribute your app to your test group for final confirmation.
I don't have an app configured in App Store Connect yet. Which testing environment can I use? Select either bypassStore or StoreKit config file.
Last updated