ionic-team / ionic-cli

The Ionic command-line interface
MIT License
2k stars 654 forks source link

Native: tried calling BLE.startScan, but the BLE plugin is not installed. #4242

Open ahmedkhabkhab opened 4 years ago

ahmedkhabkhab commented 4 years ago

Description:

I'm using Ionic cordova BLE plugin. When I run

ionic cordova run android

Everything is fine. However when I run

ionic serve --devapp

The first time it works. When I restart DevApp application. It tells me that the plugin is not installed although it's well installed and it works fine.

Steps to Reproduce:

Output:

[INFO] DevApp connection established from SM-G965F

[ng] [console.log]: "Angular is running in the development mode. Call enableProdMode() to enable the production mode." [ng] [console.warn]: "Native: tried calling BLE.startScan, but the BLE plugin is not installed." [ng] [console.warn]: "Install the BLE plugin: 'ionic cordova plugin add cordova-plugin-ble-central'" [ng] [console.warn]: "Native: tried calling BLE.stopScan, but the BLE plugin is not installed." [ng] [console.warn]: "Install the BLE plugin: 'ionic cordova plugin add cordova-plugin-ble-central'"

[ng] [console.info]: "[WDS] Live Reloading enabled." [ng] [console.log]: "calling _sync" [ng] [console.log]: "calling _reload" [ng] [console.log]: "done _reloading" [ng] [console.log]: "Ionic Native: deviceready event fired after 2673 ms"

My ionic info:

Ionic:

   Ionic CLI                     : 5.4.10 (/usr/local/lib/node_modules/ionic)
   Ionic Framework               : @ionic/angular 4.11.5
   @angular-devkit/build-angular : 0.801.3
   @angular-devkit/schematics    : 8.1.3
   @angular/cli                  : 8.1.3
   @ionic/angular-toolkit        : 2.1.1

Cordova:

   Cordova CLI       : 9.0.0 (cordova-lib@9.0.1)
   Cordova Platforms : android 8.1.0
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.3, (and 5 other plugins)

Utility:

   cordova-res : 0.8.1 
   native-run  : 0.3.0 

System:

   ios-deploy : 1.9.4
   NodeJS     : v12.13.1 (/usr/local/bin/node)
   npm        : 6.12.1
   OS         : macOS Catalina

Other Information:

xdvarpunen commented 4 years ago

Happened to me too image During the ionic cordova run android -l command while I am inspecting from the chrome the app there is warning to install the @ionic-native/ble plugin 👀

xdvarpunen commented 4 years ago

I believe this has something to do with the lifecycle and control of the ble instance.

When I had the call in own separate class, the issue appeared. When I had the ble instance tied to Angular component, the issue was gone.

Another factor that I kept as issue was the inspect tool from Chrome when I tested with Android. There appeared calls to happen twice. That also stopped appearing after removing the separate class to manage the ble instance.