2013-10-25 2 views
0

Я пробовал barcodescanner.js samples для моего проекта телефонных разговоров, которому нужен считыватель Qrcode, предоставленный пример проекта отлично работает в xcode. Проблема возникает, когда я пытаюсь разработать независимый проект.проблема с плагином штрих-кода в проекте phonegap

  • мой config.xml имеет:

<plugin name="com.cordova.barcodeScanner" value="CDVBarcodeScanner" />

  • IAM с помощью: PhoneGap 2.7.0
  • я включил barcodescanner.js и его тег правильно.

мой код:

function onDeviceReady() 
       { 
        // do your thing! 
        navigator.notification.alert("PhoneGap is working"); 

        scanButton = document.getElementById("scan-button"); 
        resultSpan = document.getElementById("scan-result"); 

        scanButton.addEventListener("click", clickScan, false); 
        createButton.addEventListener("click", clickCreate, false); 

       } 
        function clickScan() { 
         alert("clickScan"); 
        window.plugins.barcodeScanner.scan(scannerSuccess, scannerFailure); 
       } 


       function scannerSuccess(result) { 
        console.log("scannerSuccess: result: " + result) 
        resultSpan.innerText = "success: " + JSON.stringify(result) 
       } 

       function scannerFailure(message) { 
        console.log("scannerFailure: message: " + message) 
        resultSpan.innerText = "failure: " + JSON.stringify(message) 
       } 

это нормально до готовности; «clickscan»,

после этого ничего не происходит (что мешает моему window.plugins.barcodeScanner.scan(scannerSuccess, scannerFailure);).

Это как мой проект выглядит -> enter image description here

Iam борется с этим в течение двух дней, и я проверил почти все вопросы на «barcodescanner» тег в SO, did'nt решить мой вопрос, нужна ваша помогите .. Спасибо.

+0

Вы добавили CDVBarcodeScanner.mm и ZXing-все-в-one.cpp/.h для CordovaLib/Плагины ? Что будет 'alert (typeof window.plugins.barcodeScanner)' показывать в вашей функции 'clickScan'? – pawel

+0

да ... это все там .. alert (typeof window.plugins.barcodeScanner); ничего не показывающего. –

+0

@pawel: Есть ли что-нибудь другое, что мне нужно настроить? (также посмотрите @ мое дерево проекта). –

ответ

1

В вашем config.xml у вас есть:

<plugin name="com.cordova.barcodeScanner" value="CDVBarcodeScanner" /> 

Но в barcodescanner.js из архива почтового индекса, связанного в вашем вопросе он называется так:

Cordova.exec(successWrapper, fail, "org.apache.cordova.barcodeScanner", "scan", options); 

Так попробуйте изменить линию ваш config.xml до

<plugin name="org.apache.cordova.barcodeScanner" value="CDVBarcodeScanner" /> 

После дополнительного расследования было установлено, что штрих-код ner.js из примера .zip был написан для более старой версии Phonegap и был несовместим с 2.7. Here's a version я использую с 2.7 и 2.9, требует <plugin name="BarcodeScanner" value="CDVBarcodeScanner" /> в config.xml и можно назвать так:

var scanner = cordova.require("cordova/plugin/barcodescanner"); 
scanner.scan(scannerSuccess, scannerFailure); 
+0

спасибо, но это мне не помогло. –

+0

Что делать, если вы используете cordova-1.5.0.js из zip-архива вместо 2.7? Он может использовать различные методы определения плагинов. Источник не похож на barcodescanner.js Я использовал с телефонной связкой 2.7 и 2.9. – pawel

+0

Спасибо, что так много !!! работал. –

 Смежные вопросы

  • Нет связанных вопросов^_^