class 'RCTViewManager' XCode 的重复接口定义
Duplicate interface definition for class 'RCTViewManager' XCode
我按照 AirBnb 的安装说明将 React Native Maps 添加到我的项目中:
https://github.com/airbnb/react-native-maps/blob/master/docs/installation.md
现在我在尝试使用 Xcode 构建项目时遇到这些编译错误。如果我在终端中使用 "react-native run-ios",该应用程序仍会运行,但我想解决此问题。我尝试了以下 link 中提出的解决方案,但没有解决任何问题:
https://github.com/airbnb/react-native-maps/issues/1017
最初对于不同的 React Native 类 实际上有多个这样的错误,但是当我将相关导入从引号语法替换为 <> 语法时,它们被修复了。
例如,如果错误是 'RCTView',我会将 #import "RCTView.h"
替换为 #import <React/RCTView.h>
但是,这并没有修复这个错误,这是唯一剩下的错误。
我在下面包含了相关的屏幕截图:
非常感谢任何能解决这个问题的人。
我终于解决了这个问题!我更改了 podfile,以便注释掉 used pod 'React'... 行并取消注释另一个,然后按照此处的解决方案:
ios/Pods/Headers/Private/React-Core/React/
中的所有文件都应该 Symbolic Links
到节点模块 React 文件夹。
因此 ios/Pods/Headers/Private/React-Core/React/RCTViewManager.h
处的文件应该是 link 到 ../../../../../../node_modules/react-native/React/Views/RCTViewManager.h
的符号文件。
对该目录中的所有文件执行此操作,您将不会出现 Duplicate interface definition
错误。
在我的例子中,我没有符号 link,而是在 Pods 中复制了整个文件。这导致了两次接口声明。
我知道这是一个很老的问题,但我最近解决了同样的问题。也许它也可以帮助其他人。
我按照 AirBnb 的安装说明将 React Native Maps 添加到我的项目中:
https://github.com/airbnb/react-native-maps/blob/master/docs/installation.md
现在我在尝试使用 Xcode 构建项目时遇到这些编译错误。如果我在终端中使用 "react-native run-ios",该应用程序仍会运行,但我想解决此问题。我尝试了以下 link 中提出的解决方案,但没有解决任何问题:
https://github.com/airbnb/react-native-maps/issues/1017
最初对于不同的 React Native 类 实际上有多个这样的错误,但是当我将相关导入从引号语法替换为 <> 语法时,它们被修复了。
例如,如果错误是 'RCTView',我会将 #import "RCTView.h"
替换为 #import <React/RCTView.h>
但是,这并没有修复这个错误,这是唯一剩下的错误。
我在下面包含了相关的屏幕截图:
非常感谢任何能解决这个问题的人。
我终于解决了这个问题!我更改了 podfile,以便注释掉 used pod 'React'... 行并取消注释另一个,然后按照此处的解决方案:
ios/Pods/Headers/Private/React-Core/React/
中的所有文件都应该 Symbolic Links
到节点模块 React 文件夹。
因此 ios/Pods/Headers/Private/React-Core/React/RCTViewManager.h
处的文件应该是 link 到 ../../../../../../node_modules/react-native/React/Views/RCTViewManager.h
的符号文件。
对该目录中的所有文件执行此操作,您将不会出现 Duplicate interface definition
错误。
在我的例子中,我没有符号 link,而是在 Pods 中复制了整个文件。这导致了两次接口声明。
我知道这是一个很老的问题,但我最近解决了同样的问题。也许它也可以帮助其他人。