iosobjective-creact-nativereact-native-iosreact-native-native-module

My custom native module is not present inside NativeModules object


So, i wanted to create a native module which will detect, if the app is running on emulator/simulator or an actual device.

Everything works fine on android, but i'm facing issue on iOS.

I have create a AbcModule.h and a AbcModule.m file

#import <React/RCTBridgeModule.h>
@interface AbcModule : NSObject <RCTBridgeModule>
@end

This is AbcModule.h

#import "AbcModule.h"

@implementation AbcModule

RCT_EXPORT_MODULE(GetDetails);

- (BOOL) xyzFunctn {
    #if TARGET_IPHONE_SIMULATOR
        return YES;
    #else
        return NO;
    #endif
}

RCT_EXPORT_METHOD(xyzFunctn: (RCTPromiseResolveBlock)resolve rejecter: (RCTPromiseRejectBlock)reject) {
    resolve self.xyzFunctn;
}

@end

This is AbcModule.m

Here i have followed the react native documentation for implementing the Native Modules.

But i'm consistently facing this error which says "TypeError null is not an object, evaluating GetDetails.xyzFunctn"

I have went through several solutions and articles but nothing seems to be working here.

Need help guys!


Solution

  • Okay, if there is someone who is facing this issue and feels like their code should work but it isn't and any solution online not working for you as well.

    Try this: When you create your .h and .m file for header and objective-c or swift file, make sure you do it in Xcode and not from VSCode.

    VSCode eventually doesn't adds you .h file in the required resources folder, i have wasted my 2 weeks trying to find out solution for it, but lastly, that was it, yes this is it.