iOS PhoneGap 1.7.0 +条码扫描插件问题
有没有人设法让PhoneGap的BarcodeScanning插件在PhoneGap 1.7.0上工作?
条码扫描插件: https : //github.com/phonegap/phonegap-plugins/tree/master/iOS/BarcodeScanner
问题是插件没有被设置时,其添加..
当我调用“alert(window.plugins.barcodeScanner)”时,我得到以下内容:“
“不确定”
我试图隔离插件未能添加的地方,并会更新一次我知道更多的问题..
预先感谢任何人谁可以帮助…
下面更新了答案:
优秀,
现在插件再次工作。
一个问题是插件的文档仍然说com.cordova.barcodeScanner
的键应该是org.apache.cordova.barcodeScanner
但是现在应该是com.cordova.barcodeScanner
。
OK,所以经过一番探索,并使用twitter PhoneGap插件作为例子,我设法让它工作!
我用这个作为我的方法的基础,因为可爱的人在twitter更新他们的插件与PhoneGap 1.7.0感谢上帝!
Twitter PhoneGap插件: https : //github.com/phonegap/phonegap-plugins/blob/master/iOS/Twitter/js/TwitterPlugin.js
这里是更新的barcodescanner.js代码:
var BarcodeScanner = function(){}; BarcodeScanner.prototype.isBarcodeScannerAvailable = function(response){ cordova.exec(response, null, "BarcodeScannerPlugin", "isBarcodeScannerAvailable", []); }; BarcodeScanner.prototype.isBarcodeScannerSetup = function(response){ cordova.exec(response, null, "BarcodeScannerPlugin", "isBarcodeScannerSetup", []); }; //------------------------------------------------------------------- BarcodeScanner.Encode = { TEXT_TYPE: "TEXT_TYPE", EMAIL_TYPE: "EMAIL_TYPE", PHONE_TYPE: "PHONE_TYPE", SMS_TYPE: "SMS_TYPE", CONTACT_TYPE: "CONTACT_TYPE", LOCATION_TYPE: "LOCATION_TYPE" } //------------------------------------------------------------------- BarcodeScanner.prototype.scan = function(success, fail, options) { function successWrapper(result) { result.cancelled = (result.cancelled == 1) success.call(null, result) } if (!fail) { fail = function() {}} if (typeof fail != "function") { console.log("BarcodeScanner.scan failure: failure parameter not a function") return } if (typeof success != "function") { fail("success callback parameter must be a function") return } if ( null == options ) options = [] return PhoneGap.exec(successWrapper, fail, "com.cordova.barcodeScanner", "scan", options) } //------------------------------------------------------------------- BarcodeScanner.prototype.encode = function(type, data, success, fail, options) { if (!fail) { fail = function() {}} if (typeof fail != "function") { console.log("BarcodeScanner.scan failure: failure parameter not a function") return } if (typeof success != "function") { fail("success callback parameter must be a function") return } return PhoneGap.exec(success, fail, "com.cordova.barcodeScanner", "encode", [{type: type, data: data, options: options}]) } cordova.addConstructor(function() { /* shim to work in 1.5 and 1.6 */ if (!window.Cordova) { window.Cordova = cordova; }; if(!window.plugins) window.plugins = {}; window.plugins.barcodeScanner = new BarcodeScanner(); });
我刚刚添加barcodescanner cordova 2.3 – 这很简单
在复制必要的文件之后,您只需将以下行添加到config.xml即可
<plugin name="org.apache.cordova.barcodeScanner" value="CDVBarcodeScanner" />
如果这有助于任何人: https : //github.com/zeroasterisk/PhoneGap-BarcodeScanner-Example-iOS
特别:
安装插件(在less数path),但保持工作的一个。 实现了一个基本的JS扫描器代码来演示function:加载时自动运行,错误时自动重新加载,成功/失败/取消提醒。
注意:关于barcodescanner.js和index.js的注释,都提到了我对define / require对象path的定制。 经过几次排列,我无法获得演示/示例path的工作。