Skip to main content

I keep getting rejected in the app store for the same thing - a black screen on load. I’m unable to reproduce the error on my end no matter what I do, whether in the simulator or on a real device, new install or whatever. All the review team give me is a screenshot of a black screen and tell me that’s what they get on launch. I can’t fix it because I can’t reproduce it, all I can do is add a time out on the revenue cat loading so it still gets past that point.

I get barely any information out of them as you can image, so I have no further specifics and normally they approve it after the second or third time anyway because it probably manages to load or something. But every time I add a new update half the time they reject it again for this same black screen issue..

There’s literally zero problems with the app, the subscriptions or how they are set up - everything works perfectly. Why do they have a problem with revenuecat loading in their review environment?

Hi @hasen,

In case you haven’t seen it, we have a guide on how to handle rejections here: https://www.revenuecat.com/docs/test-and-launch/app-store-rejections

One thing I can recommend is to remove your app and in-app purchases from review completely, push a new build, and try again. Sometimes your app will be in a bad state on the reviewer’s side and removing it from review and adding it again can force an update in their systems.

Sorry you’re going through this, I know it’s frustrating. I hope you can get your app approved soon!


Hi @hasen,

In case you haven’t seen it, we have a guide on how to handle rejections here: https://www.revenuecat.com/docs/test-and-launch/app-store-rejections

One thing I can recommend is to remove your app and in-app purchases from review completely, push a new build, and try again. Sometimes your app will be in a bad state on the reviewer’s side and removing it from review and adding it again can force an update in their systems.

Sorry you’re going through this, I know it’s frustrating. I hope you can get your app approved soon!

That’s just a generic guide, this is an issue unique to renuvecat subscriptions loading. It’s nothing to do with being in a bad state, they specifically said it was a black screen on load. I’ve tested this and the only thing that ever causes any delays on load is fetching the revenuecat subscriptions. It never fails for me but there must be something specific in their review environment that causes it to fail completely. I’ve now added to the notes that they should make sure to wait a long time for it to time out from failing to load the subscriptions so they get past it and successfully load the app.

But why is it happening? It’s been rejected three times on completely different occasions for this exact same reason.


Hi @hasen,

When you say “fetching RevenueCat subscriptions” do you mean calling configure, getCustomerInfo, getOfferings, getProducts, or something else? Depending on what part is slow, the recommendation will be different. It sounds like it’s happening early in your app. Do you await any RevenueCat calls? It might help if instead you go the callback route, so that you’re not waiting on RevenueCat while the app launches.


@sharif Yes I await it and have a timeout of 6 seconds so the app will continue loading if it fails to load the subscription products. Without the timeout I don’t think it would get through the review process at all. Just had it rejected again for a black screen and got through it by asking them to make sure they wait at least 6 seconds. There’s no way to know which part is failing since the error is not reproducible my end, it’s unique to the app store review environment. All I’ve managed to confirm is that it is the revenue cat loading that causes the issue, I can’t get any specifics.

 

try {

await IAPManager().checkAll("appl_", "purchase_premium");

} catch (e) {

print("Error fetching subscription info from RevenueCat: $e");

IAPManager().fallbackToCachedSubscription();

}


Hi, @hasen, your await and timeout will not impact if the reviewers are able to fetch your offerings. I recommend that you make your app/product available in every country in case this is a localization issue with where the reviewer is testing from.


Hi, @hasen, your await and timeout will not impact if the reviewers are able to fetch your offerings.

If he’s able to fetch the offerings it wouldn’t be showing a black screen in the first place. That doesn’t make sense to me. It times out if he’s NOT able to fetch the offerings...surely that is obvious? The point is WHY would be not be able to fetch the offerings when everyone else is able to.

I recommend that you make your app/product available in every country in case this is a localization issue with where the reviewer is testing from.

As far as I know it’s available in every country. Why do you think it’s not? So far these responses have not been useful at all.


Hey @hasen,

Sorry for the trouble here. Not being able to reproduce the issue really tough to handle, as it means the issue is on the reviewer’s device or in their environment (for instance, we have seen in the past that some reviewers use a sandbox account with many purchases on it, causing considerable lag in the device and app.) We’ve seen some developers ask their reviewers to use new sandbox accounts and that fixed it for them. No guarantees though that that’s the actual issue, just a technique that has sometimes worked in the past.

What RevenueCat methods does `IAPManager().checkAll` call? This might be a clue as to why it’s fast for you but slow for the reviewer.


Reply