【问题标题】:RCT Linking Manager file not found未找到 RCT 链接管理器文件
【发布时间】:2015-10-29 21:27:34
【问题描述】:

我想使用反应原生库RCTLinkingManager,它显示在“库> RCTLinkingManager.xcodeproj”下的菜单中。

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

#import "RCTLinkingManager.h"

// @implementation ...

构建失败,找不到“RCTLinkingManager.h”文件。我试图清洁产品并清洁构建,但没有运气。

【问题讨论】:

    标签: xcode xcode6 react-native


    【解决方案1】:

    您必须在项目的构建配置中将$(SRCROOT)/../node_modules/react-native/Libraries/LinkingIOS 添加到“标题搜索路径”中。你可以找到更多信息on the official React documentation

    【讨论】:

    • $(SRCROOT)/../node_modules/react-native/Libraries 为我工作
    • 除了添加 $(SRCROOT)/../node_modules/react-native/Libraries 之外,我还必须将其标记为递归搜索,而不是非递归搜索。
    • 这是为我做的,CallMeNorm。自原始答案以来,文件可能已经移动。
    • 你是对的@Sébastien Saunier。但更准确地说,它应该只添加 RCTLinkingManager.h 文件的搜索路径。那就是:$(SRCROOT)/../node_modules/react-native/Libraries/LinkingIOS
    • 不幸的是仍然对我不起作用。我已经通过文档 3-4 次没有运气。它仍然说找不到它。我在 RN 0.38 并使用 Xcode 9。
    【解决方案2】:

    请确保您放置

    #import <React/RCTLinkingManager.h>
    

    在Appdelegate.m文件上方

    #ifdef FB_SONARKIT_ENABLED
    

    它对我们有用。

    【讨论】:

    • 这正是我们的问题所在。有时解决方案比我们预期的要容易! :) 谢谢@mussabaheen。
    【解决方案3】:

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

    【讨论】:

    • 谢谢!花了这么多时间,错过了这件小事!
    • 啊!那偷偷摸摸 #ifdef FB_SONARKIT_ENABLED !!
    • 我完全没有注意到它
    【解决方案4】:

    任何为 ios 平台的 react-native 存档而面临此问题的人只需放置

    #import <React/RCTLinkingManager.h>" 
    

    第一行之后

    "#import "AppDelegate.h"" in the AppDelegate.m file.
    

    【讨论】:

      【解决方案5】:

      如果你使用的是 React Native 和命令行,Sébastien 的修改建议是添加到ios/&lt;yourproject&gt;.xcodeproj/project.pbxproj

      "$(SRCROOT)/../node_modules/react-native/Libraries/LinkingIOS",
      

      HEADER_SEARCH_PATHS 列表(4 个位置)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-24
        • 1970-01-01
        • 1970-01-01
        • 2015-12-23
        相关资源
        最近更新 更多