Search code examples
javascriptcordovacordova-cli

Using Phonegap CLI - Barcode scanner not working


I developing an app for iOS and Android using PhoneGap 3.4.0 from the command line interface, and want to make use of the BarcodeScanner plugin. The problem is that the scanner does not actually do anything when called by my app. The camera does not come up. By using console.log with Safari developer tools, I can tell that the scan function does exist and is getting called... it just isn't doing anything.

I installed the scanner plugin like this: phonegap plugin add https://github.com/wildabeast/BarcodeScanner

In the index.html, included the javascripts like this:

  <script src="phonegap.js"></script>
  <script src="barcodescanner.js"></script>

In config.xml, added this:

<gap:plugin name="com.phonegap.plugins.barcodescanner" />

When I set scanner variable like this it logs that there is a BarcodeScanner, and it does have a function scan, but then when I call the function scan nothing happens. (the camera does not open).

var scanner = cordova.plugins.barcodeScanner;
console.log(scanner)  // =>  BarcodeScanner

This is how I'm calling the scan function:

scanner.scan( function (result) {
  ... my code here...
} );

Any ideas? I'd really appreciate any help or pointers in how to get the barcodeScanner to work with PhoneGap.


Solution

  • The problem was that the version from wildabeast was not compatible with PhoneGap >= 3.2.0.

    Use this branch instead: https://github.com/phonegap-build/BarcodeScanner

    Install with

    phonegap local plugin add https://github.com/phonegap-build/BarcodeScanner
    

    To get it to work, I had to create a brand new app, copy the www folder over, and then install the plugin.