说我有以下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
答案 0 :(得分:2)
您需要通过XCode而不是react-native run-ios
运行项目,它将显示在XCode输出控制台上。
您还可以使用XCode的断点等代替print
语句来帮助调试。