未找到 `React/RCTBridgeModule.h` 文件

IT技术 ios xcode reactjs native react-native-ios
2021-04-19 04:13:21

在 xcode 上构建 react-native iOS 应用程序时出现此错误。

在此处输入图片说明

在 npm install 和 rpm 链接react-native-fs后开始出现此错误但是在网上搜索解决方案后,我注意到很多人在安装其他 react native 库时都遇到了同样的错误。

许多人建议的一个可能的解决方案是,在“构建设置”->“标题搜索路径”下添加以下内容。

$(SRCROOT)/../node_modules/react-native/React - (递归)

但是这个解决方案没有运气,仍然得到同样的错误

6个回答

在我的情况下,当我尝试为 iOS 归档 0.40+ react-native 应用程序时发生了这个特殊问题(解决方案在这里找到:可靠的构建^0.39.2失败时升级到^0.40.0)。

发生的事情是Xcode试图并行构建 react-native 库,并且实际构建 react 库之前构建具有隐式react依赖项的库。

我的解决方案是:

  1. 禁用并行构建:

    • Xcode 菜单 -> Product -> Scheme -> Manage Shemes...
    • 双击您的应用程序
    • 构建选项卡 -> 取消选中并行构建
  2. 添加react作为项目依赖

    • Xcode Project Navigator -> 将 React.xcodeproj 从 Libraries 拖到根树
    • 构建阶段选项卡 -> 目标依赖 -> + -> 添加React
任何人都可以澄清“将 React.xcodeproj 从库拖到根树”是什么意思。
2021-05-27 04:13:21
作为 React Native 0.64,不再有 React.xcodeproj 文件
2021-05-31 04:13:21
您如何处理世博会退出的项目?我在任何地方都没有 React.xcodeproj,React 在 Podfile 依赖项中
2021-06-03 04:13:21
“拖动到根树”是什么意思?“构建阶段选项卡”……这是 React.xcodeproj 的构建阶段吗?
2021-06-14 04:13:21
创建新目标后出现此错误时,步骤 1 就足够了:)
2021-06-15 04:13:21

确保禁用Parallelise Build并在React目标上方添加目标

在此处输入图片说明

我想使用并行构建功能来减少构建时间
2021-05-27 04:13:21
@EugeneKim 列表中元素的顺序是 Apple 显示时间顺序的方式(在 OSX 和 iOS 上,这仍然经常让我感到困惑)。因此,将目标“React”放在“App”之前将在您自己之前从“React”构建代码。由于您自己的代码使用 React 目标,这似乎会影响它是否能够构建。可能正在构建文件,然后在您的目标中使用。
2021-05-28 04:13:21
在第一个答案之后我自己想出来了,但是动起来反应就成功了!必须意识到这对构建过程实际上意味着什么
2021-06-06 04:13:21
在添加 React 目标后,我正在拉我的头发并思考我做错了什么,但将其向上移动就成功了。@njoye 你能解释一下这在构建过程中意味着什么吗?谢谢!
2021-06-06 04:13:21

快速修复(不是最好的)

更改导入 react-native 标题行:

 #import <React/RCTBridgeModule.h>
 #import <React/RCTLog.h>

到:

 #import "RCTBridgeModule.h"
 #import "RCTLog.h"

这是我必须对我尝试使用的库进行更改的示例:Closes #46 - 'RCTBridgeModule.h' file not found

但是我的代码在#import "RCTBridgeModule.h"...
2021-05-31 04:13:21
我知道这似乎与文档推荐的相反,但#import "RCTBridgeModule.h"今天指定的格式确实对我来说效果更好。
2021-06-02 04:13:21
如果您仔细阅读发行说明,我认为实际上是另一种方式 - 新的/批准的方式是#import <React/RCT...h>在这里提交
2021-06-10 04:13:21
我的错误在文件 RCTFileReaderModule.h 中被标记。我按照建议更改了 #import 语句,但没有帮助。我在链接的 repo 拉取请求中看到更改是在 RNFSManager.h 和 RNFSManager.m 中完成的。我尝试在这两个文件中制作它,但也无济于事。知道我做错了什么吗?
2021-06-15 04:13:21

改变

  #import "RCTBridgeModule.h"

 #import "React/RCTBridgeModule.h"

对我来说,当我在应用程序中添加一个新的方案/目标(app.staging)并使用 pod install 安装 pod时发生了这个错误

发生此问题的原因是 pod 并非为所有目标共享。所以,我需要添加新添加的目标(app.staging)内部Podfile

这是我的 Podfile。

platform :ios, '9.0'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

target 'app' do
  # Pods for app
  pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
  pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"

  target 'appTests' do
    inherit! :search_paths
    # Pods for testing
  end

  # Pods for staging app // important line below
  target 'app.staging'

  use_native_modules!
end
帮助过我!我还需要在安装 pod 后清理项目
2021-06-15 04:13:21