I am building a mobile app with Flutter and when testing on IOS using TestFlight and sandbox, future subscriptions are tied to the original appID that purchased subscriptions on the device for the first time instead of the current appID that is logged in.
For example, my app flow goes like this:
1. The user signs in to an account.
2. The program signs in to Purchases with the user ID that is tied to the account.
3. The user buys a subscription.
4. After the subscription expires the user signs out of the account or deletes the account, which also signs out of Purchases.
5. The user signs in to a different account.
6. The program signs in to Purchases with the user ID that is tied to the account.
7. When they buy a subscription on the new account it gets linked to the old account appUserId instead of the new appUserId.
8. On RevenueCat, the ID of the old account has no aliases and no merges and the new account ID does not show up, and instead, the purchases are listed under the old account ID instead of the new one.
Also, I have ‘Keep with original App User ID’ selected in the project settings, and I do not restore purchases in my code. It is working properly on android but on IOS this issue is presented. I was wondering if this was an IOS specific caveat or if this happens because it is not a production release of my code. Is this expected behavior in TestFlight / Sandbox, or would this also happen in App Store production builds?
