From March 21 2022 onwards the builds pushed to TestFlight and Google Play are not working. The app is stuck on the splash screen. The older version(March 18 2022) of the app is working as expected.
Managed workflow
expo-cli-version: 5.3.0
eas-cli: our pipe-line still uses the expo-cli for building and uploading the app to TestFlight and Google Play
I have reset the code base to March 18 2022 and built again but no luck.
Any help would greatly helpful.
The builds built for simulator are also not working.
I tried debugging the app almost two days by following the above mentioned documentation. But no luck. The app works fine locally on expo go app and bare workflow as well. But it is not working when it built using commands expo build:android and expo build:ios
same here, expo go and simulator works fine, but when I do expo publish --release-channel staging or on testflight, the splashSreen does not go away. I do not see any error! please help!!
I had the same problem so I did code review on my code on github and found out that I was importing useState wrongly. Seems to have slipped on an auto import event.
import { useState } from 'react/cjs/react.development';
So I corrected to import { useState } from "react";
In your case it might be different but I propose searching for any import from ....react.development and correct that.
My issue is similar but only when I enable remote JS debug (that opens Chrome’s DevTools). If I disable this option, the Splash Screen does not get stuck anymore. So kinda weird that it’s only an in-debug mode. FWIW, I am still using expo-app-loading while on SDK 45.
Try the other things suggested in the Debugging docs (see Adam’s post from March).
In particular, see if you’re getting anything in the native logs.
Switching the JavaScript engine from JSC to Hermes (or vice versa) might give you some sort of error message you can use to help figure out what’s wrong.
I faced a similar issue. The app was just stuck on loading screen for my latest build on TestFlight. I spent almost 2 days trying to fix the issue and here’s what I did to finally fix it (sort of). Would appreciate if you guys have any feedback
Ran “expo start --no-dev --minify” the app worked locally as well as expo go.
Next I ran depcheck to remove any unused dependancies. Following which i deleted the package.json and yarn.lock files and reinstalled the packages. (No luck. App was still stuck on loading screen)
Finally I checked to see if i forgot to call SplashScreen.hideAsync() after SplashScreen.preventAutoHideAsync(). However I did call the SplashScreen.hideAsync() function. Therefore, I checked the code that ran before the hideAsync function. I noticed that I was checking for OTA updates before the hideAsync call. I did have a mistake in my code where i was not using a try, catch for fetchUpdateAsync() as mentioned here
However this time i decided to push this update using the EAS update feature and boom!! the app went past the loading screen once it downloaded the new update.
I assumed all was good and so i rebuilt the app using the EAS build command to test if it would open on TestFlight. However, App was stuck again on loading screen. I tried sending a new OTA and it went passed the loading screen again. Has anyone faced this before? I feel like something is wrong with my EAS update setup where my app gets stuck on loading screen the first time it loads but if i use EAS Update the app launches.
Update: I feel so stupid. I found out the issue by following the native debugging guide. Ran the app on xcode and turns out it was related to a reference of manifest2 object from expo-constants. The object is only available once EAS update is launched for the first time. So my app was stuck in splash screen until i pushed at least one update. However Manifest2 is not null in expo app running on the simulator.