"Application main has not been registered"

Hi,

I’m having an issue where I’m getting “Unhandled JS Exception: Application main has not been registered” on iOS after uploading a binary to TestFlight that was built with “exp build:ios” (see attached screenshot).

The app runs fine on iOS in the expo client, even when starting the packager with “exp start --no-dev --no-minify” but does not run once the ipa is built and uploaded to Apple TestFlight. It’s worth noting there are no issues on Android with the .apk.

Things I have tried:

  • Adding Expo.registerRootComponent(EQUiSat);
  • Moving the ‘main’ app file out of App.js, and updating the ‘main’ property of package.json accordingly (and again adding Expo.registerRootComponent)
  • changing appKey to “EQUiSat” in app.json and then running AppRegistry.registerComponent(‘EQUiSat’, () => EQUiSat); to reflect this change.

I’m pretty much out of ideas and would appreciate any help in getting the .ipa/app store upload to work.

Thanks,
Tyler

Did you change one of your settings like appKey maybe?
https://github.com/expo/expo/issues/1323

Thanks for the reply. At one point, as a troubleshooting attempt, I did tried changing appKey to “EQUiSat” (and then running AppRegistry.registerComponent(‘EQUiSat’, () => EQUiSat); to correspond), but I did not set appKey initially, which should just have the effect of the app being registered as main. However, I received the same error mentioned above in both cases.

Also, the project is open source, so all configurations, etc. are visible here: https://github.com/BrownSpaceEngineering/mobile-app

Feel free to take a look and let me know if you have any ideas. Thanks again.

Fixed it!

There was an issue with a library I was using that apparently didn’t like being minified.

For others that run into this issue, make sure you run exp start --no-dev --minify

It will reveal issues like this that pop up in production.

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