类'RCTViewManager'XCode的重复接口定义

时间:2017-02-21 01:17:02

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

我按照安装说明将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>

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

我在下面提供了相关的截图:

This is what the error looks like.

Pod File

Link Binary Libraries

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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错误。


就我而言,我没有符号链接,但是整个文件都复制到了Pods中。导致两次接口声明。

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