【问题标题】:React/RCTBridgeDelegate.h' file not found未找到 React/RCTBridgeDelegate.h' 文件
【发布时间】:2023-03-08 11:25:01
【问题描述】:

我在终端使用 react-native init auth 创建了一个名为 auth 的新项目。当我尝试使用 react-native run-ios 运行该项目时。构建失败并给出错误“React/RCTBridgeDelegate.h”文件未找到。

尝试更新 react 原生版本

在 mac 终端上的 react-native run-ios

我希望构建成功并看到 ios 模拟器 我得到的实际结果是构建失败,因此看不到模拟器

【问题讨论】:

    标签: react-native build project new-operator


    【解决方案1】:

    这个问题与 cocoapods 依赖管理器有关。执行以下操作来解决此问题:

    1. 打开终端进入你的项目ios目录
    2. 输入pod init(如果不存在),然后输入pod install
    3. 打开工作区项目并从 ios 文件夹中删除构建
    4. 从终端运行react-native run-ios

    它现在应该可以工作了。

    【讨论】:

    • 已经存在 podfile。当我尝试运行 pod init 时,它显示 /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/ bin/ruby:错误的解释器:没有这样的文件或目录
    • 如果已经存在忽略 pod init 只需输入“pod install”,这需要时间才能完成,请不要忘记从 ios 文件夹中删除构建文件,然后输入 react-native run -ios
    • 您输入了“pod install”吗?它将覆盖当前的
    • @Vahid 我已删除构建文件夹并运行 pod install 并尝试构建应用程序。但它失败了,同样的错误 React/RCTBridgeDelegate.h' file not found in AppDelegate.h file
    • @sejn 我也有同样的问题,你找到解决办法了吗?
    【解决方案2】:

    就我而言,当我执行pod update && pod install 时,libPods-FOO.a 库不知何故变得未链接。看看这是否适用于您:

    1. 在 Xcode 中,检查 Project Navigator:

      [Your Project Name] --> Targets --> [Your target name] --> General
      
    2. 向下滚动至Frameworks, Libraries and Embedded Content

    3. 如果您没有libPods-XXXX.a(其中 XXXX 是您的项目名称),请添加它:

      1. 点击“+”号添加 libPods 库
      2. 在搜索框中搜索libPods
      3. 选择libPods-XXXX.a并点击Add

    【讨论】:

      【解决方案3】:

      提示:对于那些使用 M1 Mac 的人,pod install 将不起作用。您应该使用arch -x86_64 pod install,如this issue中所述

      【讨论】:

        【解决方案4】:

        我按照@Vahid 的建议做了,但我也遇到了另一个问题。我遵循的一组说明告诉我将相关的 .xcodeproj 文件拉入我的实际项目中,然后手动链接几个不同的文件。

        这些步骤不是必需的,而是为我制造了问题。

        我在关注这个: https://github.com/frostney/react-native-ibeacon

        但最好使用这个 npm 包并按照他们的说明进行操作: https://www.npmjs.com/package/react-native-ibeacons

        【讨论】:

          【解决方案5】:

          如果你的 Mac 有 Apple M1 芯片,可以通过两种方式解决,

          #解决方案 1

          1. 打开应用程序->实用程序->Terminal.app
          2. 右键单击,Terminal.app -> 获取信息 -> 常规-> 启用“使用 Rosetta 打开”
          3. 重启终端

          #解决方案 2

          1. 从终端执行

          sudo arch -x86_64 gem install ffi

          1. 进入iOS目录并执行

          arch -x86_64 pod 安装

          【讨论】:

            【解决方案6】:

            按照以下步骤:

            1. 在 Xcode 上选择您的项目

            2. 转到构建设置

            3. 在搜索路径选项卡中选择标题搜索路径并为调试和发布添加此值

              $(继承)

              ${PODS_ROOT}

              ${SRCROOT}/../../../ios/Pods/Headers(确保将其设置为递归)

            【讨论】:

              【解决方案7】:

              [Mac OSX] 我更新了 cocoapods 版本 brew upgrade cocoapods

              【讨论】:

                【解决方案8】:

                如果您在 M1 芯片上使用 mac 并尝试在模拟器上运行应用程序,则可能会发生这种情况。尝试从官方网站(https://iterm2.com/) 安装 iterm2,并使用 Rosetta(Applications -> Right click on 'Iterm2' app -> "Get info" -> Check "Open using Rosetta") 启动它。然后运行:

                1. sudo gem install cocoapods
                2. rm -rf /Users/{USERNAME}/.cocoapods/repos/cocoapods
                3. 转到您的项目文件夹并运行cd ./ios && pod install
                4. 使用npx react-native run-ios 运行构建

                【讨论】:

                  【解决方案9】:

                  在这个特定项目中,某些目标不起作用。我注意到带有此错误的损坏目标缺少 libPods-myProjectName.a。在 Targets -> General 选项卡下,“Frameworks、Libraries and Embedded Content”我按下“+”图标并搜索“pods”并添加“pods-myProjectName.a”,现在它似乎可以工作了。这可能不适用于您,但我将其添加为另一种可能出错的可能性。

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2019-12-08
                    • 2023-01-05
                    • 1970-01-01
                    • 1970-01-01
                    • 2018-03-26
                    • 2017-05-30
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多