web-dev-qa-db-fra.com

Phonegap 3.0.0: BarcodeScanner Plugin

j'essaie actuellement d'installer le plugin BarcodeScanner pour Phonegap Version 3.0.0. Je ne trouve pas de documentation de travail sur la façon de l'installer correctement et je ne l'ai pas trouvée moi-même ..__ Donc j'apprécierais vraiment toute aide!

Merci d'avance! Cordialement, Andreas

17
user1448982

En fait, il y a quelques discussions à ce sujet sur la page github du plugin ici et ici .

J'ai réussi à avoir une version fonctionnant sous iOS et Android, vous pouvez le vérifier ici . Il y a un autre fork qui a envoyé une demande d'extraction à l'original avec les modifications apportées à la version 3.0.0, même si je ne suis pas certain que le plug-in fonctionne sous iOS.

Instructions pour l’installation (avec cordova cli )

  1. Téléchargez le repo en utilisant GIT ou simplement un Zip de Github.
  2. Ajoutez le plugin à votre projet (à la racine de votre projet):

    cordova plugin add <path_download_plugin>

  3. Vous pouvez commencer à utiliser plugins.barcodeScanner pour appeler le plug-in dans votre code HTML/JS.
  4. N'oubliez pas d'appeler cordova prepare pour copier vos fichiers sur chaque projet de plateforme.
20
Jonathan Naguin

Voici mon explication basée sur les solutions de Jonathan. J'ai essayé sa solution et j'ai réussi, mais j'ai pris plus de temps. Alors j'ai pensé à expliquer les étapes que j'ai suivies pour que cela puisse économiser du temps à quelqu'un .

Pas:-

1) Installez d’abord Cordova si ce n’est pas déjà fait en utilisant Cordova cli comme ci-dessous

Remarque: vous devez installer node.js s'il n'est pas déjà installé.

npm install -g cordova
ou
Sudo npm install -g cordova

2) Accédez au répertoire dans lequel vous gérez votre code source et exécutez une commande telle que celle-ci:

  • $ cordova create hello com.example.hello HelloWorld

    Le premier argument spécifie un répertoire hello à générer pour votre projet. Son sous-répertoire www héberge la page d'accueil de votre application, ainsi que diverses ressources sous css, js et img, qui respectent les conventions courantes de nommage des fichiers de développement Web. Le fichier config.xml contient des métadonnées importantes nécessaires à la génération et à la distribution de l'application.

    Les deux autres arguments sont facultatifs: l'argument com.example.hello fournit à votre projet un identificateur de style de domaine inverse, et HelloWorld fournit le texte d'affichage de l'application.

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

    3) supprimer tous les fichiers du dossier www sauf les suivants

  • confix.xml
  • cordova_plugins.js
  • cordova.js
  • plugins (dossier contenant barcodescanner.js)

    et vos propres fichiers index.html, js et css

    Je serai heureux si cela aide quelqu'un.

  • 11
    Santosh Prasad Sah

    j'ai eu la même erreur que @aruballo . Pour y remédier, j'ai laissé tomber les 3 fichiers de projectdir/Plugins/com.phonegap.plugins.barcodescanner / à l'intérieur du répertoire du plugin dans xcode. 

    J'ajoute également un dernier problème avec la restriction ARC qui a été résolu par la réponse de https://github.com/wildabeast/BarcodeScanner/issues/37#issuecomment-23320333 (vous devez ajouter -fno-objc-arc dans le projet - Buil Phases - source de compilation - CDVBarcodeScanner.mm pour résoudre le problème/double-cliquez sur cette ligne et ajoutez "-fno-objc-arc")

    enter image description hereenter image description here

    4
    user10078

    @ Jonathan Naguin: J'ai essayé de suivre vos instructions, mais je reçois ce qui suit:

    2013-08-09 17: 58: 57.416 PUIClient [3160: 907] Classe CDVPlugin CDVBarcodeScanner (pluginName: BarcodeScanner) n'existe pas . 2013-08-09 17: 58: 57.419 PUIClient [3160: 907] ERREUR: Plugin 'BarcodeScanner' est introuvable ou n'est pas un CDVPlugin. Vérifiez le mappage de vos plugins dans config.xml.

    Le plugin a semblé s’installer assez bien, mais lorsque j’essaie de l’appeler dans mon application, je reçois cette erreur. Une idée de ce qui se passe? J'ai essayé de répondre à votre réponse, mais stackoverflow estime qu'il est nécessaire pour moi d'avoir 50 points de réputation. Merci pour votre aide!

    1
    aruballo

    je pense que la documentation est une erreur. 

    Remplacez la "classe" de NSObject par PGbcsViewController

    Après avoir ajouté les fichiers .h, .cpp et .mm au projet; si vous recherchez 'PGbcsViewController', vous ne trouvez rien. (au moins la version mienne du plugin de code à barres.) Je l'ai corrigé en tant que 'CDVbcsViewController' et j'utilise le plugin de scanner de code à barres sans problème chez ios, aussi.

    La classe de vue des parents est donc importante. Tu devrais vérifier ça.

    0
    MugoViper