请参阅swift stdout以获取反应原生应用程序

时间:2018-05-16 08:07:19

标签: ios swift react-native stdout

说我有以下React Native代码:

import { NativeModules, Platform } from 'react-native'

if (Platform.OS === 'ios') {
  NativeModules.ExampleThing.exampleMethod('example')
}

以下Swift类:

@objc(ExampleThing)
class ExampleThing: NSObject {
  private override init() {
    print('init')
  }

  @objc func exampleMethod(_ message: String) -> Void {
    print(message)
    //do more complex thing
  }
}

以及以下桥接标题:

#import <Foundation/Foundation.h>
#import <React/RCTBridgeModule.h>

@interface RCT_EXTERN_MODULE(ExampleThing, NSObject)

RCT_EXTERN_METHOD(exampleMethod:(NSString *)message)
@end

当我运行react-native run-ios时,应用程序在模拟器中启动就好了,例如:exampleMethod(向Segment.IO发送消息)的效果发生,ergo exampleMethod相当显然被正确调用。但是,对于我的生活,我找不到打印命令的打印位置。我也试过os_log

1 个答案:

答案 0 :(得分:2)

您需要通过XCode而不是react-native run-ios运行项目,它将显示在XCode输出控制台上。

您还可以使用XCode的断点等代替print语句来帮助调试。