尝试创建我的第一个npm模块,以确定用户是否在手机上。它适用于React Native应用程序。无论我尝试什么,模块都返回undefined。 NativeModules似乎总是一个空对象。
请帮忙!以下是代码的链接。 var dogTypes = {
GermanShepard: {
color: "black and white"
},
Beagle: {
color: "brown and white"
},
cheuwahwah: {
color: "green and white"
},
poodle: {
color: "purple and white"
},
};
for (var key in dogTypes) {
for (var key2 in dogTypes[key]) {
console.log(key, key2, dogTypes[key][key2]);
}
}
中的export default RNOnPhoneCall;
只返回undefined。如何链接index.js
文件夹中的功能,并将其导出到ios
?抬头,index.js
尚未更新,只有android
。
答案 0 :(得分:1)
尝试重建项目。我最近遇到了同样的问题,只是重建解决了它
答案 1 :(得分:0)
我没有在iOS文件中正确导出方法。这是解决方案,以及最终项目的链接。
react-native-check-phone-call-status on github
#import "RNCheckPhoneCallStatus.h"
#import "React/RCTLog.h"
#import <AVFoundation/AVAudioSession.h>
#import<CoreTelephony/CTCallCenter.h>
#import<CoreTelephony/CTCall.h>
@implementation RNCheckPhoneCallStatus
RCT_EXPORT_MODULE()
RCT_EXPORT_METHOD(get:(RCTResponseSenderBlock)callback)
{
NSString *phoneStatus = @"PHONE_OFF";
CTCallCenter *ctCallCenter = [[CTCallCenter alloc] init];
if (ctCallCenter.currentCalls != nil)
{
NSArray* currentCalls = [ctCallCenter.currentCalls allObjects];
for (CTCall *call in currentCalls)
{
if(call.callState == CTCallStateConnected)
{
phoneStatus = @"PHONE_ON";
}
}
}
callback(@[[NSNull null], phoneStatus]);
}
@end
答案 2 :(得分:0)