【问题标题】:Build failed 'React/RCTBridgeModule.h' file not found未找到构建失败的“React/RCTBridgeModule.h”文件
【发布时间】:2019-05-01 16:00:30
【问题描述】:

我花了一天的时间试图解决我的问题,我尝试了在其他 SO 帖子中找到的所有解决方案,但不幸的是我不知道如何解决我的问题。

我尝试将 TouchID 集成到我的 react-native 项目中。我下载了一个名为“react-native-touch-id”的 npm 包(听起来很完美!)。我按照安装指南手动将库链接到我的项目。

但是当我尝试运行应用程序时,出现以下错误:

我试图清理我的项目:

  • rm -rf 节点模块
  • yarn cache clean && yarn install
  • rm -rf ios/Pods/ && pod install

在 xCode 中,我什至清理了构建文件夹。

关于我的版本:

  • RN : 0.57.4
  • xCode:10.1
  • react-native-touch-id : 4.3.0

这是我的 Podfile:

def available_pods
  pod 'TouchID', :path => "../node_modules/react-native-touch-id"
end
target 'App' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!
  available_pods
end

我在项目的库目录中添加了 react-native-touch-id 包的 .xcodeproj,并在构建阶段中链接了它。

但我仍然一次又一次地遇到同样的错误......我不明白为什么......如果有人有想法,我们将不胜感激:)

【问题讨论】:

  • 你真的需要use_frameworks吗!和你的 pod 文件中的 available_pods 行?如果不是,我建议您删除这些行并像以前一样全新安装 npm 模块和 pod。
  • 您是否从产品菜单中为您的项目选择了“React”架构?
  • 我删除了use_frameworks!我的 Podfile 中的行,但与以前相同的错误... @helloworld 是的,它已被选中并位于列表顶部
  • 当我的应用程序的项目文件和 pod 的项目文件之间的最小 iOS 目标不匹配时,Xcode 会给我这个错误。即当 pod 的最小目标高于应用程序时。
  • 使用 56.0.0 是最好的版本

标签: ios xcode react-native cocoapods


【解决方案1】:

看来问题出在 Podfile 上。似乎 Podfile 使用了自己的 Podspec,这造成了麻烦。所以我只需从我的 Podfile 中删除 TouchId pod 声明,清理并重新安装我的 pod。

然后,我手动将库链接到我的 xcode 工作区。为此,在您的项目名称下,右键单击库目录 => 将文件添加到“您的项目名称” => 添加位于 node_modules 目录中的 npm 包的 xcodeproj

之后,在您的项目 Build Phases 中的 Link Binary with Libraries 下,您必须添加 npm 的包静态库(例如 libTouchID.a 在我的例子中)。

为了确保您可以清理您的项目并尝试重建,它现在应该可以工作了。

关于信息,我保留了上面提到的所有软件版本。

【讨论】:

    【解决方案2】:

    如果在

    中显示 react native(missing)

    产品->方案->管理方案->项目名称->构建

    1. 删除ios文件夹
    2. react-native 弹出
    3. cd ios/
    4. pod 初始化
    5. pod 安装
    6. cd ..
    7. react-native 链接
    8. cd ios
    9. 打开 *.xcworkspace/

    当 react native 包没有正确链接到 ios 构建时会发生这种情况。 npm 链接可以做到。

    【讨论】:

    • 使用react-native eject 不是一个好主意。此外,如果您使用 RN0.60 将 Xcode 版本升级到实际最新的 11.0,您甚至不需要再进行链接,这要归功于此 RN 版本提供的自动链接。
    • 对于旧版本的 react native 我们仍然需要它
    • 我更喜欢手动链接它更安全,但你是正确的旧版本我们需要链接包。无论如何不建议退出项目。
    猜你喜欢
    • 2019-08-10
    • 2017-05-30
    • 2020-01-25
    • 1970-01-01
    • 2018-10-31
    • 2021-04-18
    • 2020-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多