Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[šŸ›] [runtime not ready]: Error: Native module NativeRNFBTurboApp is not registered. iOS bearworkflow EXPO/RN

Open
#9,354 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Active
Tech stack
firebase, ios, react-native
Domain
mobile

Research direction

Start by comparing the versions and scripts in package.json with the React Native Firebase messaging usage guidance. Inspect the actual ios/Podfile and native iOS project configuration, which are missing from the report, then reproduce the NativeRNFBTurboApp registration error. Done means the bare-workflow iOS app builds and messaging registers its native module without breaking the Expo setup.

Written by the indexing model from the issue text.

Description

Needs Attention type: bug

Issue

I have installed npm install --save @react-native-firebase/app as it is a co depancy for npm i @react-native-firebase/messaging

Android seems to build, and have some "why not getting prmishion" to work out but iOS will not instead I get "Error: Native module NativeRNFBTurboApp is not registered."

This is an ejected/bareworkflow EXPO app for referance running RN nor EXPO GO see from package.json

{
  "main": "index.js",
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios --simulator='iPhone 17' ",
    "web": "expo start --web",
    "start": "react-native start",
    "expodebug": "expo run:android --no-build-cache"
  },
  "dependencies": {
    "@react-native-async-storage/async-storage": "2.2.0",
    "@react-native-firebase/app": "^26.4.0",
    "@react-native-firebase/messaging": "^26.4.0",
    "@sayem314/react-native-keep-awake": "^1.1.0",
    "@types/react-native": "^0.57.7",
    "babel-preset-expo": "~54.0.10",
    "lodash": "^4.17.21",
    "metro-react-native-babel-preset": "0.72.4",
    "react-native-background-actions": "^3.0.1",
    "react-native-background-fetch": "^4.4.2",
    "react-native-background-geolocation": "^5.0.3",
    "react-native-config": "^1.5.6",
    "react-native-error-boundary": "^1.2.4",
    "react-native-gesture-handler": "~2.28.0",
    "react-native-get-location": "^4.0.1",
    "react-native-google-maps-directions": "^2.1.1",
    "react-native-maps": "1.20.1",
    "react-native-maps-directions": "^1.8.0",
    "react-native-notifications": "^5.1.0",
    "react-native-permissions": "^3.1.0",
    "react-native-reanimated": "~4.1.1",
    "react-native-screens": "~4.16.0",
    "react-native-tts": "^4.1.0",
    "tslib": "^2.3.1"
  },
  "devDependencies": {
    "@react-native-community/cli": "latest",
    "@react-native/metro-config": "^0.86.0",
    "expo": "~54.0.34",
    "expo-status-bar": "~3.0.9",
    "react": "19.1.0",
    "react-native": "0.81.5"
  },
  "private": true
}

When I set up firebase Google said to use the swift not pods in XCODE, so did that, this library install doc implied pods are only for react-native < 0.77, so seemd ok?

but then message doc https://rnfirebase.io/messaging/usage tells me to run cd ios/ && pod install

which can not compleete with out adding

use_frameworks! :linkage => :static
$RNFirebaseDisableSPM = true

to the top of the pod file, but that breaks all the EXPO stuff and prevents build

If I disabled the mesage code

// import messaging from '@react-native-firebase/messaging';

// async function setupNotifications() {
  //   // 1. Request permission
  //   const { status, settings } = await requestNotifications(['alert', 'sound', 'badge']);

  //   if (status === RESULTS.GRANTED) {
  //     console.log('Notification permission granted!');
  //     // 2. Fetch the notification token here
  //     await getDeviceToken();
  //   } else {
  //     console.log('Notification permission denied or blocked.');
  //   }
  // };

  // async function getDeviceToken() {
  //   try {
  //     // If working with iOS, ensure it registers with APNs first
  //     if (Platform.OS === 'ios') {
  //       await messaging().registerDeviceForRemoteMessages();
  //     }
      
  //     const token = await messaging().getToken();
  //     console.log('Your FCM Token:', token);
  //     // Send this token to your backend server
  //   } catch (error) {
  //     console.error('Failed to get FCM token', error);
  //   }
  // }
  // useEffect(() => {
  //   console.log("useEffect > setupNotifications");
    
  //   setupNotifications();
  // }, []);

before I touhed "pod install" the iOS app wuld run, but now with pods messed up it wont.

Obviously, with pods EOL I would prefer not to use them if posible, but based on the doc you need and do not...

Not 100% sure how to rersolve this so it works and we can set up notifications following the doc

If you need other files, or code refrance just ask


Project Files

Javascript
Click To Expand

package.json:
# N/A
firebase.json for react-native-firebase v6:
# N/A
iOS
Click To Expand

ios/Podfile:
  • I'm not using Pods
  • I'm using Pods and my Podfile looks like:
# N/A
AppDelegate.m:
// N/A


Android
Click To Expand

Have you converted to AndroidX?
  • my application is an AndroidX application?
  • I am using android/gradle.settings jetifier=true for Android compatibility?
  • I am using the NPM package jetifier for react-native compatibility?
android/build.gradle:
// N/A
android/app/build.gradle:
// N/A
android/settings.gradle:
// N/A
MainApplication.java:
// N/A
AndroidManifest.xml:
<!-- N/A -->


Environment

Click To Expand

react-native info output:

 OUTPUT GOES HERE
  • Platform that you're experiencing the issue on:
    • iOS
    • Android
    • iOS but have not tested behavior on Android
    • Android but have not tested behavior on iOS
    • Both
  • react-native-firebase version you're using that has this issue:
    • e.g. 5.4.3
  • Firebase module(s) you're using that has the issue:
    • e.g. Instance ID
  • Are you using TypeScript?
    • Y/N & VERSION


Dominant language
TypeScript
Stars
12.3k
Forks
2.3k
Avg merge
3d 11h
Merged PRs (30d)
32

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from invertase/react-native-firebase

All issues in invertase/react-native-firebase

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.