phonegap 3.3未找到iOS BarcodeScanner模块

时间:2014-01-20 06:33:52

标签: iphone phonegap-plugins barcode-scanner

我正在使用Phonegap开发ios本机应用程序。此应用程序具有条形码扫描功能。它与phonegap版本2.9.0一起工作正常。现在,我升级phonegap版本3.3.0后它无法运行。

如果我使用以下代码,则说“找不到模块cordova /插件/ BarcodeScanner”

var scanner = cordova.require('cordova/plugin/BarcodeScanner');
scanner.scan(function1, function2);

它表示未定义如果我使用以下代码

window.plugins.barCodeScanner.scan(func1, func2);

它表示未定义如果我使用以下代码

cordova.plugins.barcodeScanner.scan(func1, func2);

我使用this link进行此实施。请告诉我,我做错了什么?

我已经加入了barcodescanner.js,并在加载应用时加载。我很有信心。 此外,我在构建时没有遇到任何错误。

- 斯里达尔

1 个答案:

答案 0 :(得分:3)

它是固定的。 barcodescanner.js中存在运行时问题。我发现并修复了。它工作正常。更改的代码。

cordova.define("cordova/plugin/BarcodeScanner", function (require, exports, module) {    
var exec = require("cordova/exec");
function BarcodeScanner() {
    this.Encode = {
    TEXT_TYPE: "TEXT_TYPE",
    EMAIL_TYPE: "EMAIL_TYPE",
    PHONE_TYPE: "PHONE_TYPE",
    SMS_TYPE: "SMS_TYPE"
        //  CONTACT_TYPE: "CONTACT_TYPE",  // TODO:  not implemented, requires passing a Bundle class from Javascript to Java
        //  LOCATION_TYPE: "LOCATION_TYPE" // TODO:  not implemented, requires passing a Bundle class from Javascript to Java
    };
};
BarcodeScanner.prototype.scan = function (successCallback, errorCallback) {
    if (errorCallback == null) {
        errorCallback = function () {
        };
    }
    if (typeof errorCallback != "function") {
        console.log("BarcodeScanner.scan failure: failure parameter not a function");
        return;
    }
    if (typeof successCallback != "function") {
        console.log("BarcodeScanner.scan failure: success callback parameter must be a function");
        return;
    }
    exec(successCallback, errorCallback, 'BarcodeScanner', 'scan', []);
};
BarcodeScanner.prototype.encode = function (type, data, successCallback, errorCallback, options) {
    if (errorCallback == null) {
        errorCallback = function () {
        };
    }
    if (typeof errorCallback != "function") {
        console.log("BarcodeScanner.encode failure: failure parameter not a function");
        return;
    }
    if (typeof successCallback != "function") {
        console.log("BarcodeScanner.encode failure: success callback parameter must be a function");
        return;
    }
    exec(successCallback, errorCallback, 'BarcodeScanner', 'encode', [
        {"type": type, "data": data, "options": options}
    ]);
};
var = new BarcodeScanner();
module.exports = barcodeScanner;
});