React Native Native Module for Proximity



我正在尝试为react native制作本地模块以侦听接近传感器,因为现在不支持许多开源包。我尝试了IOS的React Native文档,但我不知道obj-c,我没有足够的时间来学习所有这些人员。有人能告诉我我在代码下面做错了什么,并提供一些更好的解决方案吗?

#import "RCTProximityModule.h"
#import <React/RCTBridge.h>
#import <React/RCTEventDispatcher.h>
#import <React/RCTLog.h>
@implementation RCTProximityModule
- (NSArray<NSString *> *)supportedEvents {
return @[@"proximityChange"];
}
- (void) activateProximitySensor {
UIDevice *device = [UIDevice currentDevice];
device.proximityMonitoringEnabled = YES;
if (device.proximityMonitoringEnabled == YES) {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(proximityChanged:) name:@"UIDeviceProximityStateDidChangeNotification" object:device];
}
}
- (void) proximityChanged:(NSNotification *)notification {
UIDevice *device = [notification object];
bool proximityState = device.proximityState;
RCTLogInfo(@"prox state");
RCTLogInfo(proximityState ? @"prox true" : @"prox false");
[self sendEventWithName:@"proximityChange" body:@{@"name": proximityState}];
}
RCT_EXPORT_MODULE(ProximityModule);
@end

通过更改本地模块的swift语言解决了这个问题。它更清晰,类似于现代高级语言。要配置swift模块,只需查看React Native文档或本教程:https://teabreak.e-spres-oh.com/swift-in-react-native-the-ultimate-guide-part-1-modules-9bb8d054db03#f662

最新更新