frostney / react-native-create-library

:notebook: Command line tool to create a React Native library with a single command
MIT License
1.45k stars 113 forks source link

iOS module not importable after install #107

Open grisaitis opened 5 years ago

grisaitis commented 5 years ago

I'm having an issue with importing modules created with this utility.

If I...

  1. create a library, and run npm install in the folder
  2. create a project somewhere else
  3. install the library /at/its/path with react-native install in my project
  4. and then import RNMyLibrary from 'react-native-my-library';

I see that the value for RNMyLibrary is null.

Am I doing something wrong?

Also, if I modify the Objective C code and add a method to the module, like in the docs example with the iOS calendar API, I get an error that null has no method. Something is weird with my import, and I'm not sure what.

grisaitis commented 5 years ago

I made a repo where I demo this issue: https://github.com/grisaitis/issue-rn-native-module-import

kitty7756 commented 5 years ago

Can confirm, same issue happens even without importing any native library. If I try exporting a simple method and import it in another project, it is also undefined.

firofame commented 5 years ago

you need a podspec file in the root of your project. Here is an example - https://github.com/react-native-community/react-native-webview/blob/master/react-native-webview.podspec

dsyne commented 5 years ago

@grisaitis Did you ever make any progress with this? I've been having the exact same issue on iOS as the lib doesn't export any methods :/

drewandre commented 5 years ago

I just had to export a dummy function to get my new native module to work/importable


RCT_EXPORT_METHOD(getModuleList: (RCTResponseSenderBlock)callback)
{
   NSArray *nativeModuleList = @[@"react-native-fbsdk", @"react-native-camera", @"react-native-maps"];
   callback(@[nativeModuleList]);
}

// call function in js like so
import MyModule from "MyModule"
MyModule.getModuleList(list => console.log(list))
EnasAhmedZaki commented 3 years ago

@grisaitis I have the same issue, were you able to fix it and how?