Reputation: 1283
I am trying to run my React Native app in XCode and I keep getting this error. I cannot figure out how to resolve the issue. Any suggestions?
Screen Shot of Error in XCode:
Upvotes: 128
Views: 84478
Reputation: 4879
https://github.com/facebook/react-native/blob/v0.63.3/template/ios/Podfile
Find/Replace HelloWorld
with your your project name.
Place this file into the ./ios
folder in your project
gem install cocoapods
cd ios
pod install
Then open the YourProject.xcworkspace
file in XCode
in XCode, go to Product -> Scheme -> Manage Schemes
and check React
Then try building the project again.
Upvotes: 0
Reputation: 99
Best Solution :
Open 'Build Settings' for your project in Xcode , search 'Header Search Path'.
Double click next to 'Header Search Path', where other properties have a 'yes' or 'no'
Now add following to the "Header Search Path" (under Build Settings):
$(SRCROOT)/../node_modules/react-native/React
$(SRCROOT)/../node_modules/react-native/React/Base
Don`t forget Make both of them recursive.
Upvotes: 5
Reputation: 5987
I am using React Native 0.61. I created a Share Extension and was getting this error. I needed to replace:
#import "RCTBundleURLProvider.h"
with
#import "React/RCTBundleURLProvider.h"
Upvotes: -1
Reputation: 387
For me replacing
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
by
#import <RCTBundleURLProvider.h>
#import <RCTRootView.h>
in AppDelegate.m file worked.
Upvotes: 1
Reputation: 2322
For my case, I couldn't delete node_modules and re-install and I also couldn't do react-native-git-updgrade
or react-native upgrade
because I wanted to stay on RN-0.59 because .60 causes problems for my dependencies.
Anyway my situation was that I was missing 'React/RCTBundleURLProvider.h' file. I already had React available in my schemas. It was not in my libraries directory. I checked my target's build settings.
Inside target dependencies, I also had React in there.
I deleted 'React' target dependency, then re-added. cleaned build folders, re-built project. it worked.
Upvotes: 0
Reputation: 1532
click Product->Scheme->Manage Schemes->+ . and then add react as shared. also insure that your project name is there too.
Upvotes: 2
Reputation: 48175
The solution that works for me is to share React
scheme.
If you don't have React scheme, create new one by Selecting scheme menu -> Manage Scheme -> + -> choose React
, then mark React scheme as Shared
Also, if you use Xcode 10, go to File -> Project Settings
and select Legacy build system
Upvotes: 9
Reputation: 11577
You might be running .xcodeproj
file after pod is installed.
Close it and open .xcworkspace
file. It worked for me.
Upvotes: 4
Reputation: 321
For my case in ReactNative "0.54.2", i solved it with following solution
In Xcode select Product->Scheme->Manage Schemes
, untick 'YourProject'-tvOS set it to not Shared
Upvotes: 6
Reputation: 6927
I have gone through all the answers mentioned above.
Here is the solution worked for me:
STEP 1:
Run:
npm install react-native-fcm --save
This result in making the directory in your project under node_modules > react-native-fcm
STEP 2:
You need to add '$(SRCROOT)/../node_modules/react-native-fcm/ios'
to
header search paths in build settings.
These 2 steps worked for me to remove the error.
For more details you can go through these links:
https://github.com/evollu/react-native-fcm/issues/63
https://github.com/evollu/react-native-fcm/issues/21
Upvotes: 0
Reputation: 328
Run npm install
in your project directory to install react-native
resolving this error.
Upvotes: 1
Reputation: 98
I tried all the suggestions and none of them worked at the i deleted the repo and clone it again and that work for me, so my suggestion is commit your changes back them up and clone the repo again that worked for me.
Upvotes: -1
Reputation: 311
Make sure that the path to your project don't have any spaces. Just renaming folders and deleting spaces solves the problem for me.
Upvotes: -3
Reputation: 2765
I ran into this problem after my first try running a React build in XCode, and all I had to do was actually build and run to make the error go away (after picking a team and proper provisioning). Sometimes XCode shows errors that aren't really errors until it compiles and links things the first time.
Upvotes: 8
Reputation: 2495
I solved this problem by following steps:
React.xcodeproj
from Libraries
to the root of the project.SaleKit
) in TARGETS
Build Phases
Target Dependencies
add React
Upvotes: 7
Reputation: 2507
xcode Product->Scheme->Manage Schemes click '+' at the Target to select "React" and set the React is shared.
Upvotes: 249
Reputation: 21
Try the following:
Upvotes: 2
Reputation: 93
I had the same issue and I fixed it by placing RNFIRMessaging.h above the React/RCTBundleURLProvider.h
So it look I will look like:
#import "AppDelegate.h"
#import "RNFIRMessaging.h"
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
Upvotes: 2
Reputation:
I found that my fix to this issue after upgrading React was to change the declaration of #import "RCTBundleURLProvider.h"
to #import <React/RCTBundleURLProvider.h>
Upvotes: 1
Reputation: 1889
For all those are using React Native 0.40.0 or higher, Header Imports have a major change from RN 0.40.0 and result in lots of .h file not found errors. react-native-git-upgrade
fixed the issue for me while in debug but build fails in release/archive.
I am using RN 0.42.3 with cocoapods and Xcode 8.2.1
To completely fix this go to Xcode>Product>Scheme>Edit Scheme>
Now clean the project and build
Upvotes: 18
Reputation: 2773
None of the other suggestions were fixing my error but this one did it.
Create a file named ios/Podfile
inside your react-native app with the following contents:
# You Podfile should look similar to this file. React Native currently does not support use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target '<YOUR_APP_NAME>' do
# Fixes required for pod specs to work with rn 0.42
react_native_path = "../node_modules/react-native"
pod "Yoga", :path => "#{react_native_path}/ReactCommon/yoga"
pod "React", :path => react_native_path, :subspecs => [
'Core',
'RCTActionSheet',
'RCTAnimation',
'RCTGeolocation',
'RCTImage',
'RCTLinkingIOS',
'RCTNetwork',
'RCTSettings',
'RCTText',
'RCTVibration',
'RCTWebSocket'
]
pod 'GoogleMaps' # <~~ remove this line if you do not want to support GoogleMaps on iOS
# when not using frameworks we can do this instead of including the source files in our project (1/4):
# pod 'react-native-maps', path: '../../'
# pod 'react-native-google-maps', path: '../../' # <~~ if you need GoogleMaps support on iOS
end
Run the command pod install
from inside the ios folder.
Restart XCode and the error should be gone.
Upvotes: 17
Reputation: 880
Delete node modules, then run npm install
(or better yet yarn) and after everything has finished downloading, run react-native upgrade
which should give you the option to replace old files with the template ones, by doing so you re-link your native dependencies in react-native which should fix your problem. Of course don't forget to clean your project in Xcode.
Upvotes: 66
Reputation: 4405
In the base dir of the project I run:
node_modules/react-native/packager/packager.sh --reset-cache
Which resulted in:
Scanning 554 folders for symlinks in /Users/..../work/..../react_tutorial/AwesomeProject/node_modules (15ms)
┌────────────────────────────────────────────────────────────────────────────┐
│ Running packager on port 8081. │
│ │
│ Keep this packager running while developing on any JS projects. Feel │
│ free to close this tab and run your own packager instance if you │
│ prefer. │
│ │
│ https://github.com/facebook/react-native │
│ │
└────────────────────────────────────────────────────────────────────────────┘
Looking for JS files in
/Users/..../work/...../react_tutorial/AwesomeProject
Loading dependency graph... ERROR Packager can't listen on port 8081
Most likely another process is already using this port
Run the following command to find out which process:
lsof -i :8081
I found that package manager can't run when another packager process is running.
I found the process running with:
lsof -i :8081
Than I kill 9 ...
the process.
After than I closed Xcode, run:
npm install
And started Xcode again, from this moment everything work as expected!!
Upvotes: 2
Reputation: 123
you need to install react native, in terminal run
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
then
brew install node
brew install watchman
npm install -g react-native-cli
source:
https://facebook.github.io/react-native/docs/getting-started.html
Upvotes: -2
Reputation: 8114
If you havent run npm install
you are likely to encounter this issue.
Upvotes: 0
Reputation: 8965
I faced same issue .then i have deleted node .try to use these steps
then make build and see
Upvotes: 1