App Stuck on Splash Screen in Apple Review (not in Testflight)

Hello guys,

I released my app into production (play store and app store) a month ago. In the last week I wanted to push my second update, which included an upgrade of the SDK-Version to v30. Which works fine the Simulator / Expo Client for both Android and iOS. Even in iOS / Apple Testflight and installed as an APK on multiple devices everything works fine.

Never the less my App got rejected now twice by Apple (!) because it is Stuck on Splash Screen. I even saw an Issue about this on Github, but it was marked as resolved. So maybe those are connected. (https://github.com/expo/expo/issues/2246)

Anyone still has this error and got some kind of workaround? I can’t reproduce this error in Testflight, because everything works fine there. Anyone has an idea? :sweat_smile:

One more thing I noticed is: (This may not be related at all, don’t really know)
After I upgraded the “supportsTablet” configuration does not seem to take any affect anymore. Because on my App submission the iPads are not marked as optional anymore, which they used to be. (Store Screenshot and stuff)

Best regard,
mgiesen

1 Like

Hey @mgiesen,

I pinged internally regarding this. Hopefully we can get to the bottom of it soon so you can get a new release of your app out.

Cheers,

Adam

Hey @adamjnav,

thanks for your response.

I tried different approaches now, with different Expo V30 Release Versions (30.0.0, 30.0.1 and 30.0.2). With 30.0.2 the Review is still pending, all other bounced.

If the latest bounce too, I will probably downgrade to v29, because I want to ship the update, which includes some UX changes I actually want/need to deploy. :sweat_smile:

I am very thankful for your support and help!

I never had this problem with a prior release, after writing with some others Devs in Slack I did open this Forum-Post. Didn’t want to open something half baked and without trying different angles first. But I can’t wrap my head around it, because it works in Testflight, but breaks after I submit it to Apple.

I probably think the Apple Tester is using an iPad, but I did disable iPad support. Could that be an issue?

Best regards,
mgiesen

Hi @mgiesen,

My team ran into the same or a very similar issue: rejected multiple times, with the app getting hung on startup, and us unable to reproduce the issue whatsoever. IIRC, it was with SDK 29 or below.

One thing we did learn is that the app testers tested our app on iPads, even though we had supportsTablet set to false. We ended up setting this to true, as it actually resolved some layout issues with the UI due to the way scaling works. This wasn’t the fix for the issue, but readers should be aware: you will be tested on iPad regardless of whether or not you want to support it.

We tested on phones and tablets from iOS 9 to 12 and could not reproduce the main issue. Digging around, I found that others had run into issues with IPv6 compliance. Apple tests apps on an IPv6 WiFi network. Your backend servers don’t need to support IPv6, but if you have any hardcoded IPv4 addresses in your code, these will need to change to use proper DNS names. This wasn’t the case for us, I’m just passing on information I found.

Ultimately, we were finally able to “resolve” this issue by sending Apple a message in the Resolution Center saying we had tested all permutations of the app possible and with IPv4 and IPv6 setups and were still unable to reproduce. We got back a response saying the app had now passed that portion of the review, but failed due to a separate, unrelated issue (needed better permission request strings).

We’ve pushed out multiple builds since then, and each one has succeeded. I believe there may be something with Apple’s test environment that sometimes prevents some Expo apps from loading due to connectivity issues, and that they are aware that the issue is creating spurious review failures.

Hope this info helps!

1 Like

Hi @jscharf,

thanks for your detailed answer. I do not have any hardcoded IPs in my code (which I avoid in general at the time being). That one i can answer with a 100%.
I read somewhere, that Apple tests the submitted Apps on iPads anyway, but I always thought if everything works on my Testflight devices Apple shouldn’t get an Issue like being stuck on the Splash-Screen. Which I do not really know how to debug at this point. Because I can’t reproduce this error anywhere.

The very strange thing is, that I already pushed 2 versions of this app to the store. This should have been the second update after the release.
The first release had some feedback regarding permissions and stuff, but after I fixed those everything went smoothly. The next update went easily to the store without any hassle. But this update, after I upgraded Expo just keeps bouncing.

Again thanks for your informations, always useful to gather this stuff!

Best regards,
mgiesen

Hey, no problemo. This was a huge issue for my team, so I’m just trying to share the info.

I suggest you use the Resolution Center to let Apple know you can’t reproduce the issue whatsoever. That’s what worked for us.

I think the fact that you’ve previously passed review is in your favour, and should be mentioned!

In my research, I read some nightmare stories where people had gone and set up IPv6 networks and recorded video of them doing so and then successfully using their app. In these cases, Apple let them through.

To me, this is a huge clue that there’s something sporadic or non-standard about Apple’s test environment. We tested our app on IPv6 by tethering it to another iOS device hotspot, BTW. Easier than setting up a whole new IPv6 network correctly.

Let Apple know you simply can’t reproduce, and that you’ve tested on both IPv4 and IPv6 networks! It’s the only thing that worked for us!

1 Like

Hello @jscharf @adamjnav,

we bounced again today. This time I only got the feedback, that we are stuck on the Spash Screen specifically on iPads with iOS Version 12.1. This time they gave me more specific informations to work with. Anyone some more ideas? Maybe I should enable the tablet Support via the config. Could this help? Anyone every tried this?

I can not reproduce this error to be honest, but I do not have a compliant iPad with their specs right now. (Going to lend one later I think).

In the meantime I will try and downgrade to SDK29 for the time being. Maybe that one helps, because we submitted those versions in earlier releases too.

Best regards,
mgiesen

Contact Apple via the Resolution Center. This issue is most likely on their end, and relates to their test environment and not your code.

We got similar feedback about the app failing on iPad / iOS 12 but absolutely could not reproduce.

There is an issue with their test environment. The solution is to contact them!

As follow up:

After I downgraded to SDK29 I had no more errors from the Apple Review Team and everything went smoothly.

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.