Skip to main content
Question

Distinguishing Sandbox and Production Entitlements in live app

  • January 10, 2022
  • 2 replies
  • 551 views

Forum|alt.badge.img+3

I have recently launched an iOS app which has been in beta for a while. The live app has subscriptions, but during the beta I added a “lifetime unlock” in-app purchase so that beta testers didn’t have to keep re-subscribing due to the accelerated subscription speed.

Now that the live app is out, I wanted to offer beta testers a promotional offer code to access a discounted subscription in the live app. However, in my testing, when I installed the live app over the beta app it immediately unlocked everything (as the lifetime unlock was still valid, despite being purchased in sandbox mode)

So I added code to the live app to ignore sandbox entitlements by checking the isSandbox flag on the EntitlementInfo (RCEntitlementInfo). This now works as expected, and I was able to purchase a new subscription in the live app despite having had one in the beta, however, today it is failing

When I try to purchase the monthly subscription in my live app, it tells me “You’re currently subscribed to this” (correct), I then hit “OK” and get a STORE_ERROR from RevenueCat (“There was a problem with the App Store.”)

Deleting and reinstalling the live app does not fix this. 

My hunch is that both production and sandbox purchases are present, and I only want to use the production one but the app is receiving the sandbox entitlement from the SDK. Is there a way to filter out only the production version of an entitlement from RevenueCat’s RCEntitlementInfos object? Should I even be doing this?

This post has been closed for comments

sharif
RevenueCat Staff
Forum|alt.badge.img+9
  • RevenueCat Staff
  • January 21, 2022

Are you still having this issue? I’m not 100% sure what would cause this behavior other than device glitches. Have you tried rebooting your device and/or logging out of your sandbox account?


Forum|alt.badge.img+3
  • New Member
  • January 21, 2022

The only way I found to resolve this issue was to delete the user permanently in RevenueCat and then ask the user to restore purchases in the live iOS app. 


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings