我正在使用 ReactNative 为 IOS 和 Android 构建一个移动应用程序。我还在使用 Swift 为 iOS 构建一个原生模块。但是当我从 JS 访问模块类时,它总是返回 null。
我使用以下代码创建了一个 WaterRowerBleManager.swift 文件。
import Foundation
@objc(WaterRowerBleManager)
class WaterRowerBleManager: NSObject {
@objc
func constantsToExpose() -> [AnyHashable : Any]! {
return [
"number": 123.9,
"string": "foo",
"boolean": true,
"array": [1, 22.2, "33"],
"object": ["a": 1, "b": 2]
]
}
@objc
static func requiresMainQueueSetup() -> Bool {
return true
}
}
它还创建了一个带有“.h”扩展名的桥头文件。我已按原样保留文件。
然后我使用以下代码创建了一个 WaterRowerBleManager.m 文件。
#import <Foundation/Foundation.h>
#import "React/RCTBridgeModule.h"
@interface RCT_EXTERN_MODULE(WaterRowerBleManager, NSObject)
@end
在 ReactNative 中,从 App.js 访问模块,如下所示。
import { NativeModules } from 'react-native';
NativeModules.WaterRowerBleManager
NativeModules.WaterRowerBleManager 始终返回 null。我的代码有什么问题,我该如何解决?