与本机和目标C反应的RCT桥接

问题描述

我一直在关注这个tutorial,它谈论的是如何与React Native和目标C进行通信。我遵循了该教程,并取得了良好的效果。当我想添加一个名为sendData的新函数时,问题就开始了。这将在JS中调用,它将传递一个字符串,而在目标C中,它将接收该字符串。

但是,桥接没有用。

这是我的代码

RCT_REMAP_METHOD(sendData : (Nsstring*)str,sendData_resolver:(RCTPromiseResolveBlock)resolve
                 sendData_rejecter:(RCTPromiseRejectBlock)reject)
{
  BOOL response = [_cppApi sendData];
  resolve(response);
}

代码在Xcode中给出错误No visible @interface for 'CCCppCom' declares the selector 'sendData'。 (CCCppCom是头文件我有一个功能,即getData似乎可以正常工作。

RCT_REMAP_METHOD(getData,resolver:(RCTPromiseResolveBlock)resolve
                 rejecter:(RCTPromiseRejectBlock)reject)
{
  Nsstring *response = [_cppApi getData];
  resolve(response);
}

我不太确定这里发生了什么。我检查了CCCppCom,确实有sendData。

有人可以帮助我吗?预先感谢。

解决方法

我通过使用RCT_EXPORT_METHOD而不是RCT_REMAP_METHOD解决了这个问题。