类'RCTViewManager'XCode的重复接口定义
Posted
技术标签:
【中文标题】类\'RCTViewManager\'XCode的重复接口定义【英文标题】: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>
但是,这并没有解决这个错误,这是唯一剩下的一个。
我在下面附上了相关的截图:
非常感谢任何能解决这个问题的人。
【问题讨论】:
【参考方案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 中。这导致了接口声明的两倍。
我知道这是一个非常古老的问题,但我最近解决了同样的问题。也许它也可以帮助其他人。
【讨论】:
以上是关于类'RCTViewManager'XCode的重复接口定义的主要内容,如果未能解决你的问题,请参考以下文章