Skip to main content

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

 

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


Hi! 👋🏻 Thanks for reporting! 

Sadly the bug is a part of iOS 15.4 itself, so updating to 4.1.0 won’t fix it. We’ve reported it to Apple and we will just have to wait for it to get fixed 😢

 


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...


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”. 


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


Hello @Andy any news regarding your ticket ? Thanks


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.


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.


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.


After more testing, it seems like it’s now not working in Sandbox but working correctly in Production. 

There’s nothing to do on your side, we’re in touch with Apple to help them reproduce but ultimately the fix will have to come from them

Thank you, 

Does look like it is a Sandbox issue. Just downloaded the app and it works on production. 

Thank you


After more testing, it seems like it’s now not working in Sandbox but working correctly in Production. 

There’s nothing to do on your side, we’re in touch with Apple through the radar but ultimately the fix will have to come from them


Update here: the iOS bug has been fixed, so `presentCodeRedemptionSheet()` now works as expected on all OS versions. 

 

@balsalobre I’m sorry I missed your reply! The answer is that you don’t need to do anything - this will automatically work on all SDK versions, no action needed 😃

 

Let me know if you run into anything else!

 

 


Hello. We are having the same issue and opened https://github.com/RevenueCat/purchases-ios/issues/1404


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!


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


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


@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


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!


`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.

@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!


@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 ?


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.


Thanks @Andy  for the tips. It works fine


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. 


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