在RCTBridgeModule.h中对“RCTMethodInfo”进行本机重新定义

时间:2018-02-06 04:20:33

标签: ios objective-c react-native

iOS中的React Native 0.49我克隆了我的项目安装npm并从git和run链接但是代码中的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

但错误相同

2 个答案:

答案 0 :(得分:3)

我刚刚遇到这个问题。它是由第三方引起的 企鹅称为&#34; 反应原生微博&#34; 。我刚刚更改了#import&#34; RCTBridgeModule&#34;到#import&lt; React / RCTBridgeModule.h&gt;在RCTWeiboAPI内部 ,现在一切都好了。

所以如果你的问题也是由第三方企鹅引起的,那就试着改变#import&#34; xxxx.h&#34; #import&lt; React / xxxx.h&gt;在第三方API中。

希望它有效。

答案 1 :(得分:0)

我遇到了此问题,并通过删除“派生数据”解决了该问题。该问题似乎是通过xcode 10升级项目的原因。以前的项目从xcode 9派生的数据也存在,由于某些原因无法通过清理项目将其删除。

您可以在“派生数据”中手动删除项目构建文件,或使用下面的命令。

rm -rf〜/ Library / Developer / Xcode / DerivedData

希望有帮助!