“RCTBundleURLProvider.h”文件未find – AppDelegate.m
我正在尝试在XCode中运行我的React Native应用程序,并不断收到此错误。 我无法弄清楚如何解决这个问题。 有什么build议么?
XCode中的错误屏幕截图:
删除节点模块,然后运行npm install
(或更好的纱线),并在所有的东西下载完成后,运行react-native upgrade
,这应该给你select用模板replace旧的文件,这样做,你重新链接你的本地反应原生的应该解决你的问题的依赖关系。 当然,不要忘了在Xcode中清理你的项目。
xcode产品 – >scheme – >pipe理scheme点击“+”在目标select“反应”和设置反应是共享的。
没有其他的build议是纠正我的错误,但这一个做到了。
1 – 创buildPodfile
在react-native应用程序中创build一个名为ios/Podfile
的文件,内容如下:
# 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
2 – 安装Podfile
从ios文件夹中运行命令pod install
。
3 – 重置XCode
重新启动XCode,错误应该消失。
对于所有使用React Native 0.40.0或更高版本,Header Imports与RN 0.40.0有重大变化,并导致大量.h文件未find错误。 react-native-git-upgrade
在debugging时为我解决了这个问题,但在发布/归档中生成失败。
我正在使用RN 0.42.3和cocoapods以及Xcode 8.2.1
要完全解决这个去Xcode的>产品>计划>编辑计划>
- 不要并行化构build
- 点击目标中的+button,并添加反应
- 将添加的React拖动到“目标”列表顶部。
现在清理项目并构build
在第一次尝试在XCode中运行React构build之后,我遇到了这个问题,而我所要做的只是实际构build并运行,以使错误消失(在select一个团队并进行适当configuration之后)。 有时XCode会显示错误,直到第一次编译和链接时才会出现错误。
我通过以下步骤解决了这个问题:
- 在xcode中select项目根目录。
- 将
React.xcodeproj
从Libraries
拖动到项目的根目录。 - 在
TARGETS
点击项目名称(在我的情况下,名称为SaleKit
) - select
Build Phases
- 在
Target Dependencies
下拉列表中添加React
- 重build或重新运行
我面临同样的问题,然后我删除节点.try使用这些步骤
- 删除node_modules文件夹 – rm -rf node_modules && npm install
- 重置打包程序caching – rm -fr $ TMPDIR / react- *或node_modules / react-native / packager / packager.sh –reset-cache
- 清晰的守望者手表 – 守望者手表全部
然后使build立和看到
我有同样的问题,我通过将RNFIRMessaging.h放在React / RCTBundleURLProvider.h之上来解决它
所以看起来我会看起来像:
#import "AppDelegate.h" #import "RNFIRMessaging.h" #import <React/RCTBundleURLProvider.h> #import <React/RCTRootView.h>
在您的项目目录中运行npm install
以安装react-native
解决此错误。
如果你没有运行npm install
你可能会遇到这个问题。
你需要安装反应本机,在terminal运行
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
然后
brew install node brew install watchman npm install -g react-native-cli
资源:
https://facebook.github.io/react-native/docs/getting-started.html
在我运行的项目的基本目录中:
node_modules/react-native/packager/packager.sh --reset-cache
导致:
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
我发现当另一个打包程序正在运行时,软件包pipe理器不能运行。
我发现过程运行:
lsof -i :8081
比我kill 9 ...
过程。
比我closuresXcode之后,运行:
npm install
并再次启动Xcode,从这一刻起,一切都按预期工作!
我发现在升级React之后,我对这个问题的解决方法是将#import "RCTBundleURLProvider.h"
的声明更改为#import <React/RCTBundleURLProvider.h>
尝试以下操作:
- 清理( cmd + shift + K )。
- 构build核心React – 在Xcode中selectReact作为scheme并构build它( cmd + B )。
- 构build失败的库(例如RCTText)。
- build立你的应用程序
我尝试了所有的build议,没有人在我的工作删除回购和克隆它,这对我来说,所以我的build议是提交您的更改备份起来,克隆回购再次为我工作。
我已经经历了上面提到的所有答案。
这里是解决scheme为我工作:
步骤1:
跑:
npm install react-native-fcm --save
这会导致在node_modules> react-native-fcm下的项目中生成目录
第2步:
您需要在构build设置中将'$(SRCROOT)/../node_modules/react-native-fcm/ios'
到页眉searchpath中。
这2个步骤为我去除了错误。
欲了解更多详情,你可以通过这些链接:
确保项目的path没有空格。 只是重命名文件夹和删除空格解决了我的问题。