0

現在、多くのオープン ソース パッケージがサポートされていないため、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
4

1 に答える 1