I'm not sure how we reached the point where we accepted the current situation of subscription testing in Testflight as the normal. It has been drama for years now. It's also super confusing and many people don't understand why/what is happening. Let me write down first what is happening, after that all the issues and potential solution will be clear.
Production app
- Uses live appstore backend + your apple id that is signed in on the device
Testflight app
- Uses sandbox appstore backend + your apple id that is signed in on the device
Local / Xcode
- Uses sandbox appstore backend + your sandbox apple id if correctly set on your device (settings / appstore / sandbox account).
The problem is you can only manage the following subscriptions
- Live appstore backend + live apple id
- Sandbox appstore backend + sandbox apple id
We are missing the option to manage
- Sandbox appstore backend + live apple id -> the situation we deal with in testflight.
So there is no way to manage your testflight subscriptions. Few potential solutions that apple should implement:
- We need an option within the Testflight app to Manage subscriptions, that should than open the live apple id on the sandbox backend.
- Or give developers the option to use the sandbox account for testflight as well, not only for developing locally.
To test in testflight you basically have to wait for the subscription to expire, but they also recently changed the renewal rates. It used to be 5 minutes for a month, now its 1 day for a month, so you have to wait 12 days before your monthly sub on testflight is gone.
So we cant manage testflight obtained subscriptions, we cant use API's to manage them, we cant change settings like renewal rates, they are totally useless.
This is really not usable at all. The situation has been like this for years, and all of us seem to accept this as normal. But this is a horrible developer experience, and we have to launch apps in production that we can't even test properly, only locally (so we can't let our testers test). How is this acceptable @Apple?