npm install -g react-native-create-library
react-native-create-library --package-indentifier com.wesleysd1989.reactnative --plataforms android,ios comunicacao-nativa
no arquivo package.json coloque a versao do react-native no meu caso coloquei versão 0.61.4.
"peerDependencies": {
"react-native": "0.61.4"
}
@ReactMethod
public void checkBridge(Promise promise) {
promise.resolve("modulo nativo android");
}
RCT_EXPORT_METHOD(checkBridge:(RCTPromiseResolveBlock)resolve
rejecter:(RCTPromiseRejectBlock)reject)
{
resolve(@"modulo nativo ios");
}
dentro do projeto na pasta ios terá um arquivo <nome_da_lib>.podspec, mova esse arquivo para raiz do projeto. edite as seguintes tags.
mude de ->
s.homepage = ""
para ->
s.homepage = "https://github.com/wesleysd1989/comunicacao-nativa" //esse link e do seu diretorio do github
mude de ->
s.source = { :git => "https://github.com/author/comunicacao-nativa.git", :tag => "master" }
s.source_files = "RNTComunicacaoNativa/**/*.{h,m}"
para ->
s.source = { :git => "https://github.com/wesleysd1989/comunicacao-nativa", :tag => "master" } //esse link e do seu diretorio do github
s.source_files = "ios/*.{h,m}"
inclua o seguinte method na lib IOS - ios/RNComunicacaoNativa.m
RCT_EXPORT_METHOD(checkBridge:(RCTPromiseResolveBlock)resolve
rejecter:(RCTPromiseRejectBlock)reject)
{
resolve(@"modulo nativo ios");
}
inclua o seguinte method na lib Android - android/src/main/java/com/username/reactnative/RNComunicacaoNativaModule.java
import com.facebook.react.bridge.Promise; //comeco do arquivo
@ReactMethod
public void checkBridge(Promise promise) {
promise.resolve("modulo nativo android");
}
no projeto react-native que você deseja incluir sua lib digite o seguinte comando.
npm install <caminho do diretorio>
exemplo do caminho "../../comunicacao-nativa"
na pasta ios apos a instalacao
pod install
$ npm install react-native-comunicacao-nativa --save
$ react-native link react-native-comunicacao-nativa
- In XCode, in the project navigator, right click
Libraries
➜Add Files to [your project's name]
- Go to
node_modules
➜react-native-comunicacao-nativa
and addRNComunicacaoNativa.xcodeproj
- In XCode, in the project navigator, select your project. Add
libRNComunicacaoNativa.a
to your project'sBuild Phases
➜Link Binary With Libraries
- Run your project (
Cmd+R
)<
- Open up
android/app/src/main/java/[...]/MainActivity.java
- Add
import com.m3n0r.reactnative.RNComunicacaoNativaPackage;
to the imports at the top of the file - Add
new RNComunicacaoNativaPackage()
to the list returned by thegetPackages()
method
- Append the following lines to
android/settings.gradle
:include ':react-native-comunicacao-nativa' project(':react-native-comunicacao-nativa').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-comunicacao-nativa/android')
- Insert the following lines inside the dependencies block in
android/app/build.gradle
:compile project(':react-native-comunicacao-nativa')
import RNComunicacaoNativa from 'react-native-comunicacao-nativa';
// TODO: What to do with the module?
RNComunicacaoNativa;