在 RCTBridgeModule.h 中反应本机重新定义“RCTMethodInfo”
Posted
技术标签:
【中文标题】在 RCTBridgeModule.h 中反应本机重新定义“RCTMethodInfo”【英文标题】:React Native Redefinition of 'RCTMethodInfo' in RCTBridgeModule.h 【发布时间】:2018-02-06 04:20:32 【问题描述】:ios 中的 React Native 0.49 我克隆了我的项目安装 npm 并从 git 链接并运行,但代码中的 RCTBridgeModule.h
有错误
typedef struct RCTMethodInfo
const char *const jsName;
const char *const objcName;
const BOOL isSync;
RCTMethodInfo;
它有 2 个错误
重新定义'RCTMethodInfo'和使用不同类型重新定义Typedef('struct(匿名结构在../../react-native/React/Base/RCTBridgeModule.h:57:16)'与'struct RCTMethodInfo')
我很好的解决方案并包含
#if __has_include(<React/RCTBridgeModule.h>)
#import <React/RCTBridgeModule.h>
else
#import "RCTBridgeModule.h"
#endif
但它的错误相同
【问题讨论】:
你在哪里添加的。我得到同样的错误? 在#import <Foundation/Foundation.h> #import <React/RCTDefines.h>
之后的头部
请发布完整的解决方案。
react-native upgrade
为我工作..
【参考方案1】:
我刚刚遇到这个问题,是第三方造成的
企鹅名为“react-native-weibo”。我只是在 RCTWeiboAPI 中将 #import "RCTBridgeModule" 更改为 #import
所以如果您的问题也是由第三方企鹅引起的,请尝试在第三方 API 中将 #import "xxxx.h" 更改为 #import
希望它有效。
【讨论】:
caused by a third party penguin
如果这是真的,在 RN 上工作会很有趣:D【参考方案2】:
我遇到了这个问题,并通过删除派生数据解决了这个问题。问题是通过 xcode 10 升级项目的原因。以前项目从 xcode 9 派生的数据也存在,由于某种原因无法通过清理项目来删除。
您可以在 Derived Data 中手动删除项目构建文件或使用下面的命令。
rm -rf ~/Library/Developer/Xcode/DerivedData
希望对你有帮助!
【讨论】:
以上是关于在 RCTBridgeModule.h 中反应本机重新定义“RCTMethodInfo”的主要内容,如果未能解决你的问题,请参考以下文章
`React/RCTBridgeModule.h` 文件未找到