找不到RCT链接管理器文件

AJc*_*dez 34 xcode xcode6 react-native

我想使用RCTLinkingManager在"Libraries> RCTLinkingManager.xcodeproj"下的菜单中显示的react native库.

但是,当我添加它iOS/AppDelegate.m像这样:

#import "RCTLinkingManager.h"

// @implementation ...
Run Code Online (Sandbox Code Playgroud)

构建失败,找不到'RCTLinkingManager.h'文件.我试图清理产品并清理构建,没有运气.

Séb*_*ier 64

您必须$(SRCROOT)/../node_modules/react-native/Libraries/LinkingIOS在项目的Build Config中添加"Header Search Paths".您可以在官方的React文档中找到更多信息

  • 除了添加```$(SRCROOT)/../ node_modules/react-native/Libraries```之外,我必须将其标记为递归搜索而非非递归搜索. (8认同)
  • 你是对的@SébastienSaunier.但为了更准确,它应该只添加RCTLinkingManager.h文件的搜索路径.那就是:$(SRCROOT)/../ node_modules/react-native/Libraries/LinkingIOS (2认同)
  • 不幸的是仍然不适合我。我已经浏览了文档 3-4 次,但没有运气。它仍然说找不到它。我使用的是 RN 0.38 并使用 Xcode 9。 (2认同)

小智 17

请确保您将

#import <React/RCTLinkingManager.h>
Run Code Online (Sandbox Code Playgroud)

在 Appdelegate.m 文件上方

#ifdef FB_SONARKIT_ENABLED
Run Code Online (Sandbox Code Playgroud)

它对我们有用。

  • 这正是我们的问题所在。有时解决方案比我们想象的要容易!:) 谢谢@mussabaheen。 (2认同)

小智 14

只有当我完成存档/发布版本时,我才遇到类似的问题......这是因为导入是在#if DEBUG. 因此,请确保将导入放在正确的位置,否则会出现Use of undeclared identifier 'RCTLinkingManager'错误

  • 啊!那个_鬼鬼祟祟的_`#ifdef FB_SONARKIT_ENABLED`!! (2认同)

Abd*_*lah 10

任何遇到此问题的 ios 平台反应本机存档的人只需放置

#import <React/RCTLinkingManager.h>" 
Run Code Online (Sandbox Code Playgroud)

第一行之后

"#import "AppDelegate.h"" in the AppDelegate.m file.
Run Code Online (Sandbox Code Playgroud)