我正在遵循本指南 http://facebook.github.io/react-native/docs/nativemodulesios.html#content
还有这个网站: http://colinramsay.co.uk/2015/03/27/react-native-simple-native-module.html
但是无论我在哪里添加.h和.m文件我总是得到错误: 未导出类ClassName您是否忘记使用RTC_EXPORT_MODULE()?
即使它来自react-native文档的示例中的相同代码,是否有人可以指导我在哪里添加.h和.m文件并将它们正确地链接到项目? 感谢。
答案 0 :(得分:2)
原生模块API发生了变化,似乎文档尚未相应更新。从我的文章中的示例来看,SomeString.m应如下所示:
// SomeString.m
#import "SomeString.h"
@implementation SomeString
RCT_EXPORT_MODULE();
RCT_EXPORT_METHOD(get:(RCTResponseSenderBlock)callback)
{
// Change this depending on what you want to retrieve:
NSString* someString = @"something";
callback(@[someString]);
}
@end
这最终得到了所需的结果,您可以像以前一样从JS调用它。看起来这只是刚刚发生的事情:
https://github.com/facebook/react-native/commit/0686b0147c8c8084e4a226b7ea04585362eccea8
答案 1 :(得分:0)
您还可以向要导出的任何方法添加普通RCT_EXPORT();
。像魅力一样。