【发布时间】:2020-07-27 11:30:01
【问题描述】:
我正在尝试桥接本机模块的回调以响应本机。我也试过这个Got "is not a recognized Objective-C method" when bridging Swift to React-Native
我也为我的第一个参数添加了下划线
以下是我的快速代码
import Foundation
import LocalAuthentication
@objc(FingerPrintModule)
class FingerPrintModule: NSObject {
var resultCallback: RCTResponseSenderBlock!
@objc func authenticateLocallyForIos(_ callback: @escaping RCTResponseSenderBlock) -> Void {
resultCallback = callback
useLocalAuthentication()
}
private func useLocalAuthentication(){
//Business logic
}
}
我也为我的swift 文件创建了objective c 文件
#import <Foundation/Foundation.h>
#import <React/RCTBridgeModule.h>
#import <UIKit/UIKit.h>
@interface RCT_EXTERN_MODULE(FingerPrintModule, NSObject)
RCT_EXTERN_METHOD(authenticateLocallyForIos: callback:(RCTResponseSenderBlock)callback)
@end
当我从 react native 调用时,我收到错误消息,提示无法识别 objective c 方法
我的 React Native 代码
import { NativeModules,
Platform,
} from "react-native";
const { FingerPrintModule } = NativeModules;
在按钮按下时调用
FingerPrintModule.authenticateLocallyForIos((err, result) => {
if (!err) {
Alert.alert(result.toString());
} else {
Alert.alert(err);
}
});
【问题讨论】:
-
你能在调用这个方法的地方添加 React 端代码吗?
-
@Daljeet 立即查看
标签: ios objective-c swift react-native