Debugging for "Module AppRegistry not a registered callable module" with iOS .ipa

My app runs without error under dev and prod. I have also tested on both the iOS simulator and Expo iOS. I keep getting at the unhelpful error message “” and at the same time can’t really debug where goes run.

I tried using the bottom-up strategy by identifying the minimum working version and sort of figured out that the issues might be with ‘react-native-router-flux’, but couldn’t pinpoint where things went run. My two questions are 1) how should I debug in this case? Even under debug=true mode there is nothing that’s helpful, and 2) would eject from expo help with debug?

Also, I have read several StackOverflow / Github issue pages without really making any progress. I’ve also uninstalled and reinstalled expo cli, cleaned all the cache and rerun npm install, and have really exhausted all my options at this point :frowning:

This is my package.json

  "name": "accountable",
  "private": true,
  "version": "2.0.0",
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "eject": "expo eject",
    "test": "node ./node_modules/jest/bin/jest.js --watchAll",
    "web": "react-scripts start",
    "web-bundle": "react-scripts build",
    "predeploy": "npm run web-bundle",
    "deploy": "gh-pages -d build",
    "debug": "open 'rndebugger://set-debugger-loc?host=localhost&port=19001'"
  "dependencies": {
    "@expo/vector-icons": "^10.0.1",
    "babel-polyfill": "^6.26.0",
    "babel-preset-expo": "^5.1.1",
    "bootstrap": "^4.3.1",
    "expo": "^32.0.0",
    "expo-mixpanel-analytics": "0.0.7",
    "firebase": "^5.9.2",
    "immutability-helper": "^3.0.0",
    "moment": "^2.24.0",
    "native-base": "^2.12.1",
    "npm-check-updates": "^3.1.9",
    "prop-types": "^15.7.2",
    "react": "16.5.0",
    "react-dom": "^16.8.6",
    "react-helmet": "^5.2.0",
    "react-native": "",
    "react-native-action-button": "^2.8.5",
    "react-native-app-intro-slider": "^2.0.1",
    "react-native-calendar-strip": "^1.3.8",
    "react-native-modal-datetime-picker": "^7.4.2",
    "react-native-onboarding-swiper": "^1.1.0",
    "react-native-router-flux": "4.0.6",
    "react-native-securerandom": "^0.3.0",
    "react-native-sortable-listview": "^0.2.8",
    "react-native-svg-charts": "^5.2.0",
    "react-native-swipe-gestures": "^1.0.3",
    "react-native-vector-icons": "^6.4.2",
    "react-redux": "^6.0.1",
    "react-router-dom": "^4.2.2",
    "react-timer-mixin": "^0.13.4",
    "reactstrap": "^7.1.0",
    "redux": "^4.0.0",
    "redux-persist": "^5.10.0",
    "redux-thunk": "^2.3.0",
    "rn-nodeify": "^10.0.1"
  "devDependencies": {
    "eslint-config-airbnb": "^17.1.0",
    "eslint-plugin-import": "^2.16.0",
    "eslint-plugin-jsx-a11y": "^6.2.1",
    "eslint-plugin-react": "^7.12.4",
    "gh-pages": "^2.0.1",
    "jest-expo": "^32.0.0",
    "node-sass": "^4.11.0",
    "react-scripts": "2.1.8"

My app.json

  "expo": {
    "sdkVersion": "32.0.0",
    "name": "Accountable",
    "slug": "accountable",
    "icon": "src/images/app-icon.png",
		"version": "2.0.0",
    "privacy": "public",
    "platforms": [
    "ios": {
      "bundleIdentifier": "com.levilian.accountable"

Here is my expo link:

Closing this. The problem, after 15 hours of debugging, is with deep linking, which is why it worked on local machines but did not after build. Please read the doc carefully for future reference.

Glad you persevered and figured things out! Is there anything you think would be helpful to change in our documentation to save others from the confusion/15 hour debug session you experienced?

Yes! I hope that the note about adding a scheme to app.json is made clear in standalone app documentation. I did not realize that expo handled scheme for us on local builds, and so had to do a binary search on the import files to identify the problem, which made debugging such a pain.

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