React/RCTBridgeDelegate.h' 找不到文件

React/RCTBridgeDelegate.h' file not found

我在 terminal.When 使用 react-native init auth 创建了一个名为 auth 的新项目 我尝试 运行 使用 react-native 运行-ios 的项目.构建失败并给出错误 'React/RCTBridgeDelegate.h' 找不到文件。

尝试更新 React Native 版本

react-native 运行-ios 在终端 mac

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

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

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

现在应该可以了。

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

这些步骤不是必需的,而且给我带来了问题。

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

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

在我的例子中,当我执行 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

按照以下步骤操作:

  1. Select 您在 Xcode

    上的项目
  2. 转到构建设置

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

    $(继承)

    ${PODS_ROOT}

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

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

如果您在 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
  5. 构建

提示:对于使用 M1 Mac 的用户,pod install 将不起作用。您应该按照 this issue

中的说明使用 arch -x86_64 pod install

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

如果你有 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 install