简体   繁体   中英

Phonegap 3.0.0: BarcodeScanner Plugin

currently I'm trying to install the BarcodeScanner Plugin for Phonegap Version 3.0.0 . I can't find any working documentation on how to install it correctly and I didn't figure it out myself. So I would really appreciate any help!

Thank you in advance! Best regards, Andreas

Actually there are a couple of discussions about this issue on the github page of the plugin here and here .

I managed to have a version working in iOS and Android, you can check it here . There is another fork that has made a pull request to the original with changes for 3.0.0 even I am not quite sure that the plugin works in iOS.

Instructions to install (Using cordova cli )

  1. Download the repo using GIT or just a ZIP from Github.
  2. Add the plugin to your project (from the root of your project):

    cordova plugin add <path_download_plugin>

  3. You can start using plugins.barcodeScanner to invoke the plugin in your HTML/JS code.
  4. Do not forget to call cordova prepare to copy your files to each platform project.

Here is my explanation based on Jonathan solutions. I tried his solution and succeeded but took more time. So I thought to explain steps I followed so that it can save someone's time.

Steps:-

1) First install cordova if not already installed using Cordova cli as below

Note: you must install node.js if not already installed.

npm install -g cordova
or
sudo npm install -g cordova

2) Go to the directory where you maintain your source code, and run a command such as the following:

  • $ cordova create hello com.example.hello HelloWorld

    The first argument specifies a hello directory to be generated for your project. Its www subdirectory houses your application's home page, along with various resources under css, js, and img, which follow common web development file-naming conventions. The config.xml file contains important metadata needed to generate and distribute the application.

    The other two arguments are optional: the com.example.hello argument provides your project with a reverse domain-style identifier, and the HelloWorld provides the application's display text

  • cd hello
  • cordova platform add ios
  • cordova plugin add https://github.com/jonathannaguin/BarcodeScanner.git
  • cordova build
  • cordova prepare

    3) remove all files from www folder except following

  • confix.xml
  • cordova_plugins.js
  • cordova.js
  • plugins (folder contaning barcodescanner.js)

    and your own index.html,js,css files

    I will be glad if it helps someone.

  • i had the same error as @aruballo. To fix it i dropped the 3 the files from projectdir/Plugins/com.phonegap.plugins.barcodescanner/ inside the plugin directory in xcode.

    I also add one last problem with ARC restriction which was fixed by the answer from https://github.com/wildabeast/BarcodeScanner/issues/37#issuecomment-23320333 (must add -fno-objc-arc in Project - Buil Phases - compile source - CDVBarcodeScanner.mm line to resolve the problem / double click that line and add "-fno-objc-arc")

    在此输入图像描述在此输入图像描述

    @Jonathan Naguin: I tried to follow your instructions, but I am receiving the following:

    2013-08-09 17:58:57.416 PUIClient[3160:907] CDVPlugin class CDVBarcodeScanner (pluginName: BarcodeScanner) does not exist. 2013-08-09 17:58:57.419 PUIClient[3160:907] ERROR: Plugin 'BarcodeScanner' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.

    The plugin seemed to install well enough, but when I try calling it in my application I receive this error. Any idea whats going on? I tried to reply to your answer but stackoverflow deems it neccessary for me to have 50 reputation. Thanks for all your help!

    i think,the documentation has a mistake.

    Change the "Class' from NSObject to PGbcsViewController

    After you add the .h,.cpp and .mm files to the project; if you search for 'PGbcsViewController' ,you can't find anything . (at least mine version of barcode plugin.) I corrected it as 'CDVbcsViewController' and i am using barcode scanner plugin without problem at ios,too.

    So parent class of view is important. You should check that.

    The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

     
    粤ICP备18138465号  © 2020-2024 STACKOOM.COM