0

设置:

  • 反应原生 v0.41.2
  • react-native-cli v2.0.1
  • xcode v8.2.1
  • 节点 v6.9.5

我开始使用 RN v0.41.2 并发现v0.40 引入了一个命名空间破坏性更改,指出所有反应导入都应以React/.

文档显示并非如此。

所以,这是我唯一要做的事情:

// RNLib.h

#import "RCTBridgeModule.h"

@interface RNLib : NSObject <RCTBridgeModule>

@end

// RNLib.h

#import <React/RCTBridgeModule.h>

@interface RNLib : NSObject <RCTBridgeModule>

@end

或者我是否也必须为我的进口做这件事:

// RNLib.m

#import "RNLib.h"

@implementation RNLib

RCT_EXPORT_MODULE();

RCT_EXPORT_METHOD(helloWorld:(NSString *)world)
{
  return [NSString stringWithFormat:@"hello %@", world];
}

@end

// RNLib.m

#import <React/RNLib.h>

@implementation RNLib

RCT_EXPORT_MODULE();

RCT_EXPORT_METHOD(helloWorld:(NSString *)world)
{
  return [NSString stringWithFormat:@"hello %@", world];
}

@end

我目前无法创建一个库并正确链接它(我尝试了多种方法)。

4

1 回答 1

1
// somthing.m
#import "something.h"

上面这一行是指存在于实现文件同一目录中的 something.h 文件。

只有来自 React 的模块应该在前面加上"React/RCTWhatever.h".

当您链接本机库时,这对 Xcode 的 Header Search Paths 有有效的更改。

谢谢

于 2017-02-17T03:03:53.733 回答