首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React Native Native模块实现邻近性

React Native Native模块实现邻近性
EN

Stack Overflow用户
提问于 2021-10-04 08:16:33
回答 1查看 60关注 0票数 0

我正在尝试为react创建原生模块来监听接近感应器,因为许多开源包现在都不支持。我尝试了IOS的React Native文档,但我不知道obj-c,而且我没有足够的时间来学习所有这些工作人员。谁能告诉我在下面的代码中我做错了什么,并提供一些更好的解决方案?

代码语言:javascript
复制
#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
EN

回答 1

Stack Overflow用户

发布于 2021-10-04 14:10:19

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69432886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档