私たちはphonegap(2.4.0)-iOS(6)およびAndroidプラットフォーム用のアプリケーションを開発しています。私たちのアプリはBarcodeScannerプラグインを使用しています。プラグインはAndroidで問題なく動作していますが、iOSでいくつかの問題が検出されました。
最初にファイルCDVBarcodeScanner.mmCDVPlugin.hが見つからなかったので、この行の周りのif / elseチェックについてコメントしました:そして#import <CORDOVA/CDVPlugin.h>
config.xmlファイルにこの行を追加しました:<plugin name="org.apache.cordova.barcodeScanner" value="CDVBarcodeScanner" />
その後、エラーなしで正常にビルドされましたが、クリックした後スキャンボタンは何も起こらず、何も出力に書き込まれませんでした。
次に、AndroidとiOSのbarcodescanner.jsを比較したところ、Androidjsファイルの最後にログを追加した後次のことがわかりました。
if(!window.plugins) {
console.log("something 1");
window.plugins = {};
}
if (!window.plugins.barcodeScanner) {
window.plugins.barcodeScanner = new BarcodeScanner();
console.log("something 2");
}
出力は、アプリケーションの開始後に書き込まれました。iOSの場合、同様の部分にいくつかのコンソールログも追加しました。
(function() {
if (!window.plugins) window.plugins = {}
console.log("something 1");
if (!window.plugins.barcodeScanner) {
window.plugins.barcodeScanner = new BarcodeScanner();
console.log("something 2");
}
else {
console.log("Not installing barcodeScanner: window.plugins.barcodeScanner already exists")
}
})
しかし、誰も書かれていませんでした。
すべてのアドバイスをありがとう。