Question

iOS Get Products failed, only on ios 17.3.1

  • 21 February 2024
  • 13 replies
  • 231 views

Badge +3

So I recently started seeing more and more users starting to get issues fetching products and this is the error they get after calling Purchases.shared.getOfferings:

There is an issue with your configuration. Check the underlying error for more details. There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used). More information: https://rev.cat/why-are-offerings-empty

 

After investigating it, from what I've seen, it only is happening for users on iOS 17.3.1. For all other users, it seems to be okay and has been working successfully.

I’m wondering if anyone knows what could be causing this / also happening to them?

 

 


This post has been closed for comments

13 replies

Badge +2
  • My app just got rejected because of this. I’ve been trying to solve this for hours, but no luck!

    The schema that uses StoreKit config works fine. The schema without the config file returns this error.

    - All relevant agreements signed
    - Bundle ids match across App Store Connect, Xcode, and revenue cat)
    - Product ids (subscriptions) match between App Store Connect and rev cat.
    - Subscription statuses are all set to “ready for review”

    Can’t find anything else to check in the forums…
Badge +2

To add to the comment above, I’m using a Revenue Cat paywall footer. if I try Purchases.shared.getProducts, I get no products either.

Badge +3

I can confirm my object is the latest revenue cat iOS, SDK (4.36.3), and it's still happening (for versions of iOS 17.3.1)

Userlevel 4
Badge +6

Hey @royfromthefuture1337!

 

I have gone ahead and shared this with the team so we can look into this further. I will let you know when we have some more information on this. 

Userlevel 3
Badge +5

@royfromthefuture1337 @gc-10b683 Hey! I’m looking into this and trying to see if we can see some kind of pattern so I have a few questions for you all.
 

  1. Do you have happen to be enabling StoreKit 2 while initializing the SDK?
  2. Do you know if these issues are isolated to any specific set of countries? 

Thanks!

Badge +3

@joshdholtz 
 

Hey Josh, it does look like I'm enabling store it 2 when loading the Revenue Cat iOS SDK:

 

let config = Configuration.Builder(withAPIKey"appl_WXqkyCYQFeLlGjIOKZrcboeYVka").with(usesStoreKit2IfAvailabletrue)

 

I see this code is run - please lmk if that helps you understand better the issue / how to solve it.

In terms of countries, it's been in a variety of countries so don't think its related.

Badge +3

Hey any updates on this? Still getting it..

Badge +2

Although our case is not exactly resolved, we identified its cause and published our app. Ours is an edge case, but this information may be helpful to others.

Our app is for iPhones only. For some reason, the Apple review team tested our app on an iPad in iPhone simulation mode, and we repeated the steps when the app got rejected.

After much investigation, and despite no mention of it anywhere we could find online, we identified that if your iPhone app doesn't natively support iPads, then StoreKit returns an empty products array with an error code suggesting that the platform is unsupported. It's a strange move from Apple, considering that there is no way to enforce the availability of iPhone apps only to iPhone devices. 

We also couldn't find a reliable way to detect when a user uses an iPhone simulation on an iPad. All the solutions available online are outdated and filtered out genuine attempts to access the paywall on the iPhone. 

After presenting our findings to Apple's review team, they approved our app. It's too early to say if we will face regular rejections when we submit updates.

The lack of online accounts of this behaviour makes me wonder if that is a recent policy change. If it is, hopefully, apple will reverse it.

Userlevel 3
Badge +5

@royfromthefuture1337 @gc-10b683 Thank you so much for all the details here! These reports and some others do make it seems like it really is an issue with iPhone only apps on iPad. We’ve sent an email to our contacts on the StoreKit team to try and raise this issue to get it resolved. We’ll let you all know as soon as we here something!

Badge +3

@royfromthefuture1337 @gc-10b683 Thank you so much for all the details here! These reports and some others do make it seems like it really is an issue with iPhone only apps on iPad. We’ve sent an email to our contacts on the StoreKit team to try and raise this issue to get it resolved. We’ll let you all know as soon as we here something!



Are you sure? I'm seeing the issues happening on regular iPhones as well, not just on iPads actually...

Badge +2

@royfromthefuture1337 

That was the case for us. We detected it by temporarily bypassing Revenue Cat and pulling the data directly from StoreKit. That allowed us to see an error about "Unsupported Platforms", which was the clue we needed to set us in the right direction. 

I believe that error was not passed down to us by RevenueCat, and if it was, we overlooked it. Perhaps someone from RevenueCat can comment on that and suggest a way for you to debug it without resorting to the StoreKit code. In the meantime, that would be my suggestion. Once we could isolate the problem and have a workable solution with Apple's review team, we brought Revenue Cat back in.

Badge +3

@royfromthefuture1337

That was the case for us. We detected it by temporarily bypassing Revenue Cat and pulling the data directly from StoreKit. That allowed us to see an error about "Unsupported Platforms", which was the clue we needed to set us in the right direction. 

I believe that error was not passed down to us by RevenueCat, and if it was, we overlooked it. Perhaps someone from RevenueCat can comment on that and suggest a way for you to debug it without resorting to the StoreKit code. In the meantime, that would be my suggestion. Once we could isolate the problem and have a workable solution with Apple's review team, we brought Revenue Cat back in.

What was the case for you? It was only happening for iPad users? - I have full analytics so I can very easily see what type of users are getting this and it's not only iPad users for me.

Badge +2

Yes, for us, the case was that the product array returned empty from Apple if the user was using our iPhone app on an iPad.


It seems that there are several access policies that Apple implement in StoreKit, and they all result in empty product arrays, which cause Revenue Cat to return the same error. 
My advice to you (if you have yet to try it) is to query your products via StoreKit directly. You will still get an empty products array,  but it may expose a more descriptive error to set you in the right direction.