【问题标题】:Duplicate interface definition for class 'RCTViewManager' XCode类'RCTViewManager'XCode的重复接口定义
【发布时间】:2017-02-21 01:17:02
【问题描述】:

我按照他们的安装说明将 AirBnb 的 React Native Maps 添加到我的项目中:

https://github.com/airbnb/react-native-maps/blob/master/docs/installation.md

现在我在尝试使用 Xcode 构建项目时遇到这些编译错误。如果我在终端中使用“react-native run-ios”,应用程序仍然可以运行,但我想解决这个问题。我尝试了以下链接中提出的解决方案,但没有解决任何问题:

https://github.com/airbnb/react-native-maps/issues/1017

最初对于不同的 React Native 类实际上存在多个此类错误,但是当我将相关导入从引号语法替换为 语法时,这些错误已得到修复。

例如,如果错误是针对“RCTView”,我会将#import "RCTView.h" 替换为#import <React/RCTView.h>

但是,这并没有解决这个错误,这是唯一剩下的一个。

我在下面附上了相关的截图:

非常感谢任何能解决这个问题的人。

【问题讨论】:

    标签: ios xcode react-native react-native-maps


    【解决方案1】:

    我终于解决了这个问题!我更改了 podfile,以便注释掉使用的 pod 'React'... 行并取消注释另一行,然后在此处遵循解决方案:

    https://github.com/airbnb/react-native-maps/issues/789

    【讨论】:

    • 您能否将您的更新解决方案添加到答案中?这会很有帮助。
    【解决方案2】:

    ios/Pods/Headers/Private/React-Core/React/ 中的所有文件都应该是 Symbolic Links 到节点模块 React 文件夹。

    所以ios/Pods/Headers/Private/React-Core/React/RCTViewManager.h 的文件应该是指向../../../../../../node_modules/react-native/React/Views/RCTViewManager.h 的符号链接。

    对该目录中的所有文件执行此操作,您将不会出现Duplicate interface definition 错误。


    就我而言,我没有符号链接,而是将整个文件复制到 Pod 中。这导致了接口声明的两倍。

    我知道这是一个非常古老的问题,但我最近解决了同样的问题。也许它也可以帮助其他人。

    【讨论】:

      猜你喜欢
      • 2012-05-30
      • 2014-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多