facebook / react-native

A framework for building native applications using React
https://reactnative.dev
MIT License
119.2k stars 24.33k forks source link

[iOS - RN 0.61.1 migration] React/RCTBridgeModule.h file not found #26678

Closed alnorris closed 4 years ago

alnorris commented 5 years ago

Reopening bug that is wrongly closed https://github.com/facebook/react-native/issues/26615

React Native version: 0.61

Steps To Reproduce

  1. Upgrade to 0.61 with upgrade-helper-tool
  2. If your project has a 3rd party module that are Linked manually, building it results in: React/RCTBridgeModule.h file not found

Describe what you expected to happen: To compile correctly

react-native-bot commented 5 years ago

Thanks for submitting your issue. Can you take another look at your description and make sure the issue template has been filled in its entirety?

👉 Click here if you want to take another look at the Bug Report issue template.

Cosmin-Ciolacu commented 5 years ago

Reopening bug that is wrongly closed

26615

React Native version: 0.61

Steps To Reproduce

  1. Upgrade to 0.61 with upgrade-helper-tool
  2. If your project has a 3rd party module that are Linked manually, building it results in: React/RCTBridgeModule.h file not found

I have same issue

loga4 commented 5 years ago

the same

many libraries migrated to pods

[!] CocoaPods could not find compatible versions for pod "ReactCommon/callinvoker":
ma96o commented 5 years ago

@loga4 Have you checked https://github.com/facebook/react-native/pull/26599?

loga4 commented 5 years ago

@ma96o thks!

craftmusic commented 5 years ago

Also being affected by this and can no longer link + build my custom native module that worked before i upgraded to 0.61.2

Alaa-Ben commented 5 years ago

Hi @alnorris ! When you go to scheme -> edit scheme -> build. Do you have see React (missing) ? If so, i might have a solution because this happened to me. If not, need more information :/

usrbowe commented 5 years ago

I had the same issue. I just did following to fix:

  1. Remove the package-name.xcodeproj of package from Libraries in Xcode
  2. Remove package Frameworks if any, in Xcode.
  3. Remove package from Build Phases > Link Binary with Libraries
  4. Remove search headers of that package in: Build Settings > Header Search Paths (do that for all project Targets, even -tv, -tests)
  5. Make sure the package implements correctly package-name.podspec file in root (check any community based package for reference)
  6. run cd ios && pod install
  7. Run: Clean ⇧+⌘+K & Clean Build Folder ⎇+⇧+⌘+K

This helped me solve the missing xxx.h files from React. I also did remove React.xcodeproj from scheme build targets, since it was remove in latest release.

alnorris commented 5 years ago

@usrbowe This is good workaround, but it doesn't solve the issue of manually linked packages. Some old packages don't have podspecs and have package owners that are unresponsive to PR's to add them.

grabbou commented 5 years ago

Can you point me to an example of such a library? I will try to reproduce it. You can also zip me your project and I will try to see what changes are needed to make it work.

My understanding is that these cases are deprecated and we are moving towards fully automatic linking w/o relying on that.

alnorris commented 5 years ago

@grabbou, any library without a podspec. Ex: https://github.com/smalltownheroes/react-native-adobe-analytics. If manual linking is in fact deprecated, I would advise we need to include this as a breaking change in the change log, and remove this from the documentation: https://facebook.github.io/react-native/docs/linking-libraries-ios#manual-linking

alpamys-qanybet commented 5 years ago

@grabbou, I have similar situation, I cannot use React-native-navigation V2 or V3 because of bugs, but V1 does not support ^RN60above, can you help, I have my forked RNNV1?

zinete commented 5 years ago

Hi @alnorris ! When you go to scheme -> edit scheme -> build. Do you have see React (missing) ? If so, i might have a solution because this happened to me. If not, need more information :/

My question is this, is there any way to solve it?

Alaa-Ben commented 5 years ago

@zhenghui0705 well if you have the react missing thing, here's what I did.

  1. Check that I have React in my pods (pod 'React', :path => '../node_modules/react-native/'). If not, add it.
  2. Uninstall reinstall pods (pod deintegrate && pod clean && pod install in the ios folder, I believe the pod deintegrate command needs to be downloaded and isn't available by default)
  3. Go to scheme -> edit scheme -> build, delete the React(missing) using the 'minus' button. Click on 'add' or a 'plus' button. Find React (should be in the Pods category) and add it. Finally, make sure all boxes are ticked for React, and place it at the top of the list.

Here you go, I hope this helps. If however you do not have the React(missing), I have no idea how to solve this since i've never had this problem :/

TommyLeong commented 5 years ago

@zhenghui0705 Here's how I made it work with the workaround. React/RCTDefines.h' file not found (RN0.61)

GutteApps commented 4 years ago

After burning a day on this, building with legacy build system did the trick: File>Workspace Settings> Build system > legacy build system

vivianlamCP commented 4 years ago

any solution? I also find this error in upgrading to RN 0.61.5

luco commented 4 years ago

Getting this on 0.61.4

luco commented 4 years ago

I managed to fix it by adding $(SRCROOT)/../../../../ios/Pods/Headers/Public/** in Header Search Paths (recursive) to each 3rd party target. React it's only accessible by pods now.

lgh06 commented 4 years ago

I managed to fix it by adding $(SRCROOT)/../../../../ios/Pods/Headers/Public/** in Header Search Paths (recursive) to each 3rd party target. React it's only accessible by pods now.

faced same issue.

pod deintegrate && pod cache clean --all && pod install added Header Search Path used legacy build.

Skipped this error.


try also react-native unlink ${LIB_NAME} then pod install in ios directory.
may also caused by already manually linked conflicts with auto linking.

luatnd commented 4 years ago

@zhenghui0705 well if you have the react missing thing, here's what I did.

  1. Check that I have React in my pods (pod 'React', :path => '../node_modules/react-native/'). If not, add it.
  2. Uninstall reinstall pods (pod deintegrate && pod clean && pod install in the ios folder, I believe the pod deintegrate command needs to be downloaded and isn't available by default)
  3. Go to scheme -> edit scheme -> build, delete the React(missing) using the 'minus' button. Click on 'add' or a 'plus' button. Find React (should be in the Pods category) and add it. Finally, make sure all boxes are ticked for React, and place it at the top of the list.

Here you go, I hope this helps. If however you do not have the React(missing), I have no idea how to solve this since i've never had this problem :/

It seems OK, but in my case: After click Plus Sign > I cannot found React in Pods, only ReactCore and ReactCoreModules were seen :( So I tried to add ReactCore + ReactCoreModule, but failed :D Looking forward to finding a new workaround.

I would try to unlink all manual dependencies (my project was created in 0.59 > Upgraded to 0.60.5 > Upgrading to 0.61.5 and stucking here)

d3020 commented 4 years ago

Is there any updated solution for this? I'm using react native 0.61.5 and still getting the React/RCTBridgeModule.h file not found in ImagePickerManager.h?

luatnd commented 4 years ago

I spent 2 days on getting this all in one workaround: https://github.com/facebook/react-native/issues/26665#issuecomment-571082076

1rjun commented 4 years ago

Just install everything from Pods, cd ios pod init install all the required libraries using pod, remove all the .xcodeproject from libraries, remove all the libraries from linked frameworks and libraries except libPods-ProjectName.a Go to your Build Setting, Header Search Paths, remove all the paths and add “$(SRCROOT)/Pods/Headers/”

Now open .xworkspace and your code will work like a charm

https://medium.com/@arjunsinghrajput/something-wrong-with-react-native-b398d5a66278

raphaelpinel commented 4 years ago

2. pod deintegrate && pod clean && pod install @Alaa-Ben pod clean is not a valid command. Did you mean pod cache clean?

Alaa-Ben commented 4 years ago

@raphaelpinel pod cleanand pod deintegrate are downloadable plugins: sudo gem install cocoapods-deintegrate cocoapods-clean

hamoudaarfaoui commented 4 years ago

Hi @alnorris ! When you go to scheme -> edit scheme -> build. Do you have see React (missing) ? If so, i might have a solution because this happened to me. If not, need more information :/

Yes it does for me , can you help ?

willnaoosmith commented 4 years ago

Same error here

hamoudaarfaoui commented 4 years ago

the only solution that worked for me is that you create .podspec file to whatever library you using and install it using Pods , and dont manual link or anything of that .. saddly not all libraries are up to date, so had to do it yourself manually to setup a .podspec file

EhteshamAnwar commented 4 years ago

@loga4 Have you checked #26599? @ma96o did this and the run pod install, I got this error. image

hamoudaarfaoui commented 4 years ago

this should fix this hell https://medium.com/@hamoudaarfawi/upgrading-react-native-to-rn0-60-react-rct-h-file-not-found-solved-e9bd65fc4ee6

willnaoosmith commented 4 years ago

The solution, for me, was deleting the entire ios folder, generating a new project with react-native-init, and moving the ios folder from the newer project to the official one. wrong? yes but it worked. maybe this happens when you upgrade your react native version

github-actions[bot] commented 4 years ago

Do you need help upgrading to a newer React Native version? Visit the Upgrade Support repository or use the upgrade helper to see the changes that need to be made to upgrade your app.

simon-davies-avtura commented 4 years ago

@raphaelpinel pod cleanand pod deintegrate are downloadable plugins: sudo gem install cocoapods-deintegrate cocoapods-clean

Absolutely got myself in a tangled mess with the state of projects/podfiles/caches. I backed out my (very messy) changes then tried the above deintegrate and clean, pow, really unexpected but it was a silver bullet! Reloaded everything and it just worked. Thank you so much for the suggestion.

Hamza6244 commented 3 years ago

Still, I'm getting the same error anyone finds a solution for this? Basically, I'm using react-native-create module lib for but it creates iOS folder without pod file so now i want to use pods and when i'm adding custom pods then i'm getting React/RCTBridgeModule.h file not found

abdelhedydev commented 3 years ago

This solution was solved my problem https://github.com/joltup/rn-fetch-blob/issues/461#issuecomment-553355501