Solved

iOS 15.4 Redeem Cod bug


Badge +1

Hey All,

We’re noticed a bug appear on devices running iOS 15.4 having issues when trying to present the store code redemption sheet using the RevenueCat iOS SDK (3.14.1).

Purchases.shared.presentCodeRedemptionSheet()

The presentation sheet appears, however the expected redeem code page is missing. Instead we’re presented with a “Cannot Connect” with the retry button not performing any action.

This is repeatable on all devices running 15.4 and only appears after the update from 15.3.1.

Does migrating to the the most recent 4.1.0 release fix this issue for devices on iOS 15.4?

Thanks

 

icon

Best answer by Andy 22 March 2022, 20:36

View original

32 replies

Badge +2

Hey folks,

Just an update on this – I followed the advice in the documentation to make my own code redemption sheet, but unfortunately App Review rejected my app due to it.

I built a sheet for people to enter a code, with a ‘redeem on the App Store’ button which would open the App Store app with the code prefilled, and they rejected it for saying I was circumventing the normal redemption flow. I went back and forth with them over a few days, trying to explain that I wasn’t circumventing the App Store, but they refused to budge and I ended up removing it to unblock my release.

Of course, none of this is RevenueCat’s fault or responsibility, I’m just mentioning it for the record if anybody else comes across the same issue.

Badge +2

@balsalobre the promo code redemption sheet has proven to be unreliable over the years, unfortunately, so I’m not surprised. 

 

We’ve stopped recommending its use and instead we recommend having the users redeem codes by opening a link with the code filled in. 

Instructions for how to do that are available here:

https://www.revenuecat.com/docs/ios-subscription-offers#option-1-in-app-redemption-sheet

Awesome, thanks Andy. Funny thing is that I did that in a previous release but changed to the “integrated” option because I liked the UX better. Will go back to AppStore links.

 

Cheers!

Userlevel 5
Badge +8

@balsalobre the promo code redemption sheet has proven to be unreliable over the years, unfortunately, so I’m not surprised. 

 

We’ve stopped recommending its use and instead we recommend having the users redeem codes by opening a link with the code filled in. 

Instructions for how to do that are available here:

https://www.revenuecat.com/docs/ios-subscription-offers#option-1-in-app-redemption-sheet

Badge +2

Hi! It’s been working perfectly since this issue was marked as SOLVED, but I’ve started receiving complains from users of my app getting this exact same message. I’ve the latest RevenueCat update from CocoaPods in my app, and the users that are complaining about this are on iOS 16.3. Is anyone facing the same issues? Thanks

Badge +5

Thanks @Andy. We have a listener set up, but it’s still not registering for some reason…I also looked up the customer on RevenueCat and confirmed the code was successfully applied there.

 

Is there anything else we need to do? (The old redemption code sheet worked fine for us pre-iOS 15.) Thanks!

Userlevel 5
Badge +8

In order for that to work, you need to make sure you set up a listener for updates: https://docs.revenuecat.com/docs/customer-info#listening-for-customerinfo-updates

Badge +5

Hi @Andy thanks for the tip re: Option 2. We tried it and the redemption flow works smoothly, but when we open the app afterwards, the entitlement doesn’t appear in the RevenueCat API so the app appears as if the user is not upgraded.

 

Is there something else we need to do to make this work? Thanks!

Userlevel 5
Badge +8

`presentCodeRedemptionSheet` works, but in our experience, it’s not particularly reliable. To be clear, this is an API that we bridge over from Apple directly, and the unreliable bits are coming from iOS itself. 

Our customers have reported issues with presentCodeRedemptionSheet like: 

  • the sheet may not connect
  • the sheet may not dismiss after a successful redemption
  • the sheet may not accept valid codes
  • sandbox and TestFlight behavior has been seen to be inconsistent.
Badge +5

@Andy , I have the same problem  , option 2 it is not easy for the users because they have to subscribe before then apply the code
why presentCodeRedemptionSheet not work ?

Badge +4

Thanks @Andy  for the tips. It works fine

Userlevel 5
Badge +8

We haven’t heard back from our radar yet. 

Honestly folks, this API has proven to be pretty unreliable over time. I’d recommend doing promo offers by redirecting customers through the App Store with the code URL, instead of using `presentCodeRedemptionSheet`. 

We updated our docs https://docs.revenuecat.com/docs/ios-subscription-offers#option-1-in-app-redemption-sheet to reflect that. The approach I mentioned is “Option 2”. 

Badge +4

We have been also facing this issue for over a week in Production. Any update from anyone getting a response from Apple would be appreciated. 

Userlevel 5
Badge +8

@Spot On Travel Nothing to report yet, sadly. I’ll update here when we hear back

Badge +4

Hello @Andy any news regarding your ticket ? Thanks

Badge +4

Hello thank you we are facing same issue since yersterday on production. many users have reported the issue on our application… Thanks @Andy for helping us to report the issue. I have called them but it seems they don’t know anything about the issue...

Badge +5

Thanks @Andy! Really appreciate the help :) hopefully Apple fixes this soon 

Userlevel 5
Badge +8

Thanks everyone for reporting! We’ll re-open a radar to escalate this to Apple. Hopefully it gets addressed soon.

Badge +5

This is also happening for us on 15.5 in production. Getting the same “Can’t connect’ screen on submission. A few users have reported it as well.

Badge +5

@Andy I have tried rebooting the device and I’m getting the same results. Unfortunately this seems to be happening on multiple devices so I don’t believe its a caching issue. 

We know that isn’t related to revenue cat, but right now this is the most active discussion about that bug.
So we are also experiencing the same bug while trying to redeem a subscription code in production.

Affected versions: 15.5

Where it works: 14.2, 14.4, 15.3.1

Someone reported that 15.5 works again, but we can not confirm this.

Badge +2

This has been happening to me for about a week in production (app store) too. I doubt that it’s something cached on the app because I have deleted and reinstalled multiple times. I just get a “Cannot Connect” message. It’s particularly painful to work on since none of this is testable in dev environments.

Userlevel 5
Badge +8

Thanks for the follow-up! I’m surprised to see that tbh because it had stopped happening in production for 15.5 (it was still a problem in sandbox). 

Does rebooting help? I wonder if there might be something cached on device, I just tried it on my 15.5 device on production and it did load correctly, even after rebooting. 

 

Badge +5

@Andy its not crashing. It’s showing a “Cannot Connect” screen with a retry button. I appreciate you letting me know that it’s an Apple issue! 

 

Userlevel 5
Badge +8

@Jordan Peterson for this particular feature, our SDK forwards the call to iOS, so it’d be an Apple issue. 

Could you tell us more about it, though? Are you seeing the CANNOT_CONNECT screen on iOS 15.5 on production? Or is it a crash? 

Badge +5

I’m getting the same issue and I’m running a production app in iOS 15.5. Not sure if this is an Apple issue or a RevenueCat issue

Reply