Xcode 11 Module AppRegistry is not a registered callable module (calling runApplication)

module appregistry is not a registered callable module ios
module appregistry is not a registered callable module expo
invariant violation module rcteventemitter is not a registered callable module
module hmr client is not a registered callable module (calling enable)
invariant violation: module is not a registered callable module (calling onmessage)
unable to resolve module react-native-safe-area-context
module rctlog is not a registered callable module
module react-native-safe-area-context does not exist in the haste module map

I recently upgraded (painfully) from react-native 0.59.10 to 0.61.2 and when I build and run thru Xcode 11 the splash screen loads but then errors show up in the console and the app doesn't load.

I've tried:

cd ios && rm -rf Pods && pod cache clean --all && pod install && cd ..

react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios

and done another clean install of react-native but to no avail.

package.json

{
  "name": "my_app",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint .",
    "clean": "react-native-clean-project"
  },
  "dependencies": {
    "@react-native-community/async-storage": "^1.6.2",
    "moment": "^2.22.1",
    "native-base": "^2.12.1",
    "react": "16.9.0",
    "react-native": "0.61.2",
    "react-native-config": "^0.11.5",
    "react-native-clean-project": "^3.2.4",
    "react-native-nfc-manager": "^0.4.2",
    "react-native-pagination": "^1.2.8",
    "react-native-permissions": "^1.2.1",
    "react-native-splash-screen": "^3.2.0",
    "react-navigation": "^1.5.11",
    "react-redux": "^5.0.7",
    "redux": "^4.0.0",
    "redux-thunk": "^2.2.0",
    "scheduler": "^0.16.2",
    "urijs": "^1.19.1"
  },
  "devDependencies": {
    "@babel/core": "^7.6.2",
    "@babel/runtime": "^7.6.2",
    "@react-native-community/eslint-config": "^0.0.5",
    "babel-jest": "^24.9.0",
    "eslint": "^6.5.1",
    "jest": "^24.9.0",
    "metro-react-native-babel-preset": "^0.56.0",
    "react-native-clean-project": "^3.2.4",
    "react-test-renderer": "16.9.0"
  },
  "jest": {
    "preset": "react-native",
    "transform": {
      "^.+\\.js$": "<rootDir>/node_modules/react-native/jest/preprocessor.js"
    }
  }
}

Podfile

platform :ios, '9.0'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

target 'my_app' do
  use_frameworks!

  pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
  pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
  pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
  pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"
  pod 'React', :path => '../node_modules/react-native/'
  pod 'React-Core', :path => '../node_modules/react-native/'
  pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules'
  pod 'React-Core/DevSupport', :path => '../node_modules/react-native/'
  pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
  pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
  pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
  pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
  pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
  pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
  pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
  pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
  pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
  pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/'

  pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
  pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
  pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
  pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
  pod 'ReactCommon/jscallinvoker', :path => "../node_modules/react-native/ReactCommon"
  pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
  pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

  pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
  pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
  pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'

  pod 'react-native-splash-screen', :path => '../node_modules/react-native-splash-screen'
  pod 'RNCAsyncStorage', :path => '../node_modules/@react-native-community/async-storage'

  target 'my_appTests' do
    inherit! :complete
    # Pods for testing
  end


  post_install do |installer|
    installer.pods_project.targets.each do |target|
      if target.name == "React"
        target.remove_from_project
      end
    end
  end
end

I expect that my application would load but instead I get the following errors:

    2019-10-16 10:25:06.379 [error][tid:com.facebook.react.JavaScript] Invariant Violation: Native module cannot be null.
    2019-10-16 10:25:06.381 [fatal][tid:com.facebook.react.ExceptionsManagerQueue] Unhandled JS Exception: Invariant Violation: Native module cannot be null.
    2019-10-16 10:25:06.388 [error][tid:com.facebook.react.JavaScript] Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication)
    2019-10-16 10:25:06.390 [fatal][tid:com.facebook.react.ExceptionsManagerQueue] Unhandled JS Exception: Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication)

Fixed my issue. Was missing dependencies from the upgrade that didn't add to Podfile automatically. For reference, in my case it was:

pod 'react-native-nfc-manager', :path => '../node_modules/react-native-nfc-manager/'
pod 'react-native-geolocation', path: '../node_modules/@react-native-community/geolocation'

Module AppRegistry is not a registered callable module , Module AppRegistry is not a registered callable module (calling runApplication) #​22243 Xcode: 10.1/10B61 - /usr/bin/xcodebuild module (calling runApplication) --------- beginning of crash 2018-11-12 11:57:34.522  2019-10-02 14:19:16.303 [error][tid:com.facebook.react.JavaScript] Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication) 2019-10-02 14:19:16.305 [fatal][tid:com.facebook.react.ExceptionsManagerQueue] Unhandled JS Exception: Invariant Violation: Module AppRegistry is not a registered callable module

You probably used open and closed tags to introduce a component.

Wrong method:

<MyComponent></MyComponent>

Correct method:

<MyComponent/>

Module AppRegistry is not registered callable module (calling , Just kill all node process and start npm server and run application: Step1: run command killall -9 node. For windows users, run: taskkill /im  Module AppRegistry is not a registered callable module and Cant find variable: Constants 112 React-Native: Module AppRegistry is not a registered callable module

With a newer React-Native version(in my case it is 0.62, but I think it will work in 0.61.2 as well) you do not need to put native module pods explicitly in Podfile.

use_native_modules! below your other native libraries. With Pod install this will auto-link the Native Modules from node_modules folder.

Previous Answer is right at its place but, just assume if you have lot of node modules, it can be headache to mannually link in Podfile. So, your podfile will look like

platform :ios, '9.0'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

target 'my_app' do
  use_frameworks!

  pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
  pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
  pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
  pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"
  pod 'React', :path => '../node_modules/react-native/'
  pod 'React-Core', :path => '../node_modules/react-native/'
  pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules'
  pod 'React-Core/DevSupport', :path => '../node_modules/react-native/'
  pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
  pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
  pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
  pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
  pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
  pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
  pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
  pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
  pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
  pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/'

  pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
  pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
  pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
  pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
  pod 'ReactCommon/jscallinvoker', :path => "../node_modules/react-native/ReactCommon"
  pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
  pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

  pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
  pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
  pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'


  ###### This line does the magic here. #######
  use_native_modules!
  ###############################

  target 'my_appTests' do
    inherit! :complete
    # Pods for testing
  end


  post_install do |installer|
    installer.pods_project.targets.each do |target|
      if target.name == "React"
        target.remove_from_project
      end
    end
  end
end

Xcode 11 Module AppRegistry is not a registered callable module , Fixed my issue. Was missing dependencies from the upgrade that didn't add to Podfile automatically. For reference, in my case it was: 2018-11-12 11:57:34.515 6859-6894/com.tesseractparadox.heatmeet E/ReactNativeJS: undefined is not an object (evaluating 't.language') 2018-11-12 11:57:34.517 6859-6894/com.tesseractparadox.heatmeet E/ReactNativeJS: Module AppRegistry is not a registered callable module (calling runApplication) ----- beginning of crash 2018-11-12 11:57:34.522

Module AppRegistry is not a registered callable module (calling , One react native error I recently faced is as following: Module AppRegistry is not a registered callable module (calling runApplication) React Native Error Fix. Expected a constructor. Module AppRegistry is not a registered callable module (calling runApplication). Requiring module "index.js", which threw an exception: Error: Expected a constructor. Unhandled JS Exception: Expected a constructor. Unhandled JS Exception: Module AppRegistry is not a registered callable module (calling runApplication).

Module AppRegistry is not a registered callable module, Unhandled JS Exception: Module AppRegistry is not a registered callable module (calling runApplication). I've been googling this for a while  React Native: Module AppRegistry is not a registered callable module (calling runApplication) Hot Network Questions Were the first sonic booms predicted?

Unhandled JS Exception: Module AppRegistry is not a registered , Ask questionsUnhandled JS Exception: Module AppRegistry is not a registered callable module (calling runApplication) Run and Use Xcode to open the project. Received type undefined at validateString (internal/validators.js:125:11​) at  [fatal][tid:com.facebook.react.ExceptionsManagerQueue] Unhandled JS Exception: Module AppRegistry is not a registered callable module (calling runApplication) Please help me. 👍 7

Comments
  • Can you share your App.js or wherever you are calling your AppRegistry?
  • Thanks for responding @ageoff. I actually just fixed the issue. During the upgrade it unlinked 2 dependencies that didn't get added to the pod file automatically that I had to manually add to the Podfile. For reference it was pod 'react-native-nfc-manager', :path => '../node_modules/react-native-nfc-manager/' pod 'react-native-geolocation', path: '../node_modules/@react-native-community/geolocation'
  • How did you figure out which dependencies were missing?