【问题标题】:<React/RCTDefines.h> file not found<React/RCTDefines.h> 文件未找到
【发布时间】:2018-03-26 02:02:18
【问题描述】:

我正在使用 cocoapods 安装 react native 和 react。我只想使用一个有 cocoapods 安装的 toast 组件(https://www.npmjs.com/package/react-native-simple-toast)。当我安装并运行该应用程序时,我收到一个错误“”文件未找到错误。 我添加了标题搜索路径,但仍然出现此错误。 1)错误

2)react-native-simple-toast xcode项目头文件搜索路径

3) 主项目Header搜索路径

【问题讨论】:

  • 安装 pod 时,您是否将“React”视为已安装的 pod 之一?我怀疑 simple-toast 库将 React 作为依赖项,这可能会导致您的问题
  • 我认为您要么需要升级一堆东西,要么只需在其中添加这个 pod 看看是否可行:React/Core

标签: javascript ios reactjs react-native cocoapods


【解决方案1】:

尝试以下解决方案-

#if __has_include("RCTDefines.h")
  #import "RCTDefines.h"
#else
 #import <React/RCTDefines.h>
#endif

这对我有用。

【讨论】:

    【解决方案2】:

    转到项目导航器 > 库 > RNFetchBlob.xcodeproj

    点击构建设置,然后点击“目标”下的第一项

    向下滚动到“搜索路径”

    双击编辑“标题搜索路径”

    添加以下条目(单击“+”):${SRCROOT}/../../../ios/Pods/Headers。

    确保将其设置为递归。 (双击)

    清理(cmd + shift + K)并重新构建(cmd + B)

    https://github.com/joltup/rn-fetch-blob/issues/461#issuecomment-553355501

    【讨论】:

      【解决方案3】:

      您需要确保在库列表中安装了“RCTDefines”:

      单击列表底部的加号按钮将其添加。如果这对您有帮助或者您需要更多信息,请告诉我:)

      【讨论】:

      • 在将该库添加到列表后,也值得为您的目标运行构建。如果您正在为 tvOS 开发,请确保您选择的 lib 是为 tvOS 构建的(通常由 lib 名称的 -tvos 后缀表示)而不是通常的 iOS。
      • 嗨@ShaneG 对我来说,RCTDefines 未显示在列表中,同时将其添加到库依赖项中。请帮忙。
      • @red-devil 我还没有解决它。为此,我已寻求帮助。
      • @amitpandya 是的,你必须添加其他并挖掘出来......顺便说一句对我不起作用
      • @yossi 这最终成为一个更严重的问题,我有不同版本的 NPM 并且每次都缓存一些旧版本。我不记得我做了什么,但这不是答案。如果 rctdefines 像这样搞砸了,则表明设置存在更大的问题,而不仅仅是缺少 RCTDefines 导入或类似的东西。
      【解决方案4】:

      这是唯一对我们有用的解决方案(在与这个问题斗争了几天之后)。仅供参考,react-native 版本是 0.61.5。在我们的例子中,库失败是'react-native-vector-icons'。 (请调整步骤 12 以适应您失败的第 3 方库)

      错误信息是:

      ** 构建失败 ** 以下构建命令失败: CompileC ./node_modules/react-native-vector-icons/RNVectorIconsManager/RNVectorIconsManager.m ./ios/build//Build/Intermediates.noindex/RNVectorIcons>.build/Debug-iphonesimulator/RNVectorIcons.build/Objects-normal/x86_64/ RNVectorIconsManager.o 普通 x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler

      (1 次失败)

      上述错误的解决方法是:

      第 1 步: rm -rf ./node_modules/react-native-vector-icons/RNVectorIconsManager/RNVectorIconsManager.m
      第 2 步: rm -rf ./ios/build/&lt;YOUR_PROJECT_NAME&gt;/Build/Intermediates.noindex/RNVectorIcons.build/Debug-iphonesimulator/RNVectorIcons.build/Objects-normal/x86_64/RNVectorIconsManager.o
      第 3 步: rm -rf ios/build
      第 4 步:rm -rf ios/Pods
      第 5 步:cd ios; pod install
      第 6 步:现在,构建项目就可以工作了可以使用react-native run-ios

      虽然这不是永久的解决方案,但如果您遇到困难,它会解除对您的阻止。

      【讨论】:

      • 为什么要删除 RNVectorIconsManager.m 文件?这不是必要的吗?无论如何,我有完全相同的问题。当我添加一个库时,它会导入“RCTBridgeModule.h”并导入未找到的 React/RCTDefines.h。我被卡住了……
      • @iiro:好问题。但是 AFAIK,即使在删除 RNVectorIconsManager.m 之后,我的应用程序与该库相关的内容也没有任何问题。所以一起修复。另一方面,上述解决方案是否能够解除对您的阻止。
      • 不,我没有那个库,但是如果我安装这个插件github.com/Driversnote-Dev/react-native-kontaktio,xcode 会给出同样的错误。很烦人!要么是库没有链接,要么是链接的时候,项目无法构建!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-30
      • 2023-03-08
      • 1970-01-01
      • 2023-03-31
      • 2018-09-10
      相关资源
      最近更新 更多