Skip to content

[🐛] compile errors with react-native CLI + pre-compiled iOS distribution default on RN 0.84 - workaround - disable pre-compiled react-native or use Podfile preinstall hook #8883

Closed

Description

@birdofpreyru

Maintainer edit:

workaround is to either

  1. disable prebuild rncore with environment variable RCT_USE_PREBUILT_RNCORE=0 in your Podfile (or the equivalent) or that set in your environment as you run pod install to disable the pre-compiled react-native build] -- see https://github.com/mikehardy/rnfbdemo/blob/main/make-demo.sh for an example, specifically https://github.com/mikehardy/rnfbdemo/blob/270b7ea0df6a6899fcff1e0ca9b7f4389078fbe5/make-demo.sh#L310-L312 for one way to disable prebuilt rncore

or

  1. use Podfile preinstall hook to force static link our Pods --> [🐛] compile errors with react-native CLI + pre-compiled iOS distribution default on RN 0.84 - workaround - disable pre-compiled react-native or use Podfile preinstall hook #8883 (comment)

Issue

I am upgrading an existing, barebone-RN app using RN Firebase from RN@0.83 to RN@0.84. All looks fine for Android, however for iOS it fails to build with the following errors:

Image

I'm not sure out of my head what is the purpose of <React/RCTConvert.h>, however in other places it similarly complains about imports of <React/RCTBridgeModule.h> and <React/RCTEventEmitter.h>, which I don't have to import inside my own libraries to support communication between JS and native layers in the latest RN versions... so guess that is just some legacy code which relies on legacy stuff removed (or hidden) now from RN?


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


Activity

  1. muhammadasadullahtariq commented on Feb 13, 2026

    @muhammadasadullahtariq
  2. DragomirAndrei19 commented on Feb 13, 2026

    @DragomirAndrei19
  3. mikehardy commented on Feb 13, 2026

    @mikehardy
    Collaborator

    Hey @birdofpreyru 👋
    I haven't got my demo script building yet either but I am aware of one change...

    Are you by any chance using the pre-compiled distribution of react-native? It is default now. Build from source as a first cut

    Likely cause:
    https://reactnative.dev/blog/2026/02/11/react-native-0.84#precompiled-binaries-on-ios-by-default

    Likely workaround for CLI users:
    RCT_USE_PREBUILT_RNCORE=0 in your Podfile (or the equivalent) or that set in your environment as you run pod install

    As a second cut I haven't experimented with this yet but we do have Expo 54 working and they enabled it by default - there is a static linking trick you can do per-Pod on Expo that we could probably simulate in the post_install if I had a chance to figure out exactly what it is doing, I just haven't yet

    https://github.com/mikehardy/rnfbdemo/blob/8766357c95f04b02fcae0e0beeb2bc59b7232331/make-expo-demo.sh#L96

    and

    https://github.com/mikehardy/rnfbdemo/blob/8766357c95f04b02fcae0e0beeb2bc59b7232331/make-expo-demo.sh#L149

    (forceStaticLinking entries for each RNFB pod in the expo-build-properties array - all that stuff is open source so should be relatively easy to track down, just haven't had time yet apologies - would truly welcome it if someone else had time to do so and post back...)

  4. birdofpreyru commented on Feb 13, 2026

    @birdofpreyru
    Author

    @mikehardy

    Are you by any chance using the pre-compiled distribution of react-native? It is default now.

    Yes, I did. Indeed, opting out of the pre-compiled RN distribution helps to pass the build successfully.

  5. mikehardy commented on Feb 13, 2026

    @mikehardy
    Collaborator

    Excellent - great to have a known workaround as a first cut "solution"

    Hopefully we'll have a post_install recipe or something we can put in the specific podspecs shortly - if anyone cooks one up please please post it, otherwise this will sit open until I see exactly what forceStaticLinking is doing per-pod in expo-build-properties and document it as a new requirement for folks using pre-compiled RN on iOS

  6. changed the title [-][🐛] [iOS] Does not work with RN@0.84?[/-] [+][🐛] compile errors with react-native pre-compiled iOS distribution default on RN 0.84 - workaround - disable pre-compiled react-native for now[/+] on Feb 13, 2026
  7. 68 remaining items

  8. github-actions commented on Jul 23, 2026

    @github-actions
    Contributor

    Hello 👋, to help manage issues we automatically close stale issues.

    This issue has been automatically marked as stale because it has not had activity for quite some time.

    Has this issue been fixed, or does it still require attention?

    This issue will be closed in 15 days if no further activity occurs.

    Thank you for your contributions.

  9. wneel commented on Jul 23, 2026

    @wneel
    Contributor

    Still relevant

  10. rayanfer commented on Jul 27, 2026

    @rayanfer

    I upgraded my project RN from 0.80.1 to 0.85.3 since now android target build 36 is enforced, I needed to upgrade all the dependencies like firebase etc to support the upgrade. But now on ios I'm facing the same issue.

  11. github-actions commented on Aug 10, 2026

    @github-actions
    Contributor

    Hello 👋, to help manage issues we automatically close stale issues.

    This issue has been automatically marked as stale because it has not had activity for quite some time.

    Has this issue been fixed, or does it still require attention?

    This issue will be closed in 15 days if no further activity occurs.

    Thank you for your contributions.

  12. voulgarakis commented on Aug 18, 2026

    @voulgarakis

    Still relevant, right?

  13. mikehardy commented on Aug 18, 2026

    @mikehardy
    Collaborator

    @voulgarakis (and others listening here) - definitely still relevant and in-progress even

    now that we're clear of the monster re-factor jobs from v26 and SPM implementation in 26.1.0 we can hopefully get the rest of these build/compile issues all tacked down. That's the plan

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Keep Openavoids the stale bothelp: iosNeeds help implementing or reviewing a PR relating to iOS code.impact: build-errorBehaviour causing build failureplatform: iostype: bugNew bug report

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions