在phonegap應用程序中,設備是在通過PhoneGap Desktop運行時定義的。但是,如果它是通過build.phonegap在線構建的,那麼它沒有被定義。使用build.phonegap時「設備未定義」
在build.phonegap中,在插件下,它顯示了在config.xml文件(例如,)中定義的核心插件都在那裏。但任何嘗試訪問設備的行都會收到「設備未定義」錯誤,而使用PhoneGap Desktop時不會發生此錯誤。
對於PhoneGap Desktop,我發現祕密是將腳本引用添加到cordova.js。但這顯然不適用於build.phonegap。我也試着給phonegap.js添加一個類似的參考,但沒有結果。
PS:另一條信息。爲了進一步調試,我嘗試使用設備在「if」塊中檢查設備是否準備就緒。因此,在PhoneGap Desktop上,deviceready事件觸發了,但在build.phonegap上,它從未準備好。
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
onDeviceReady: function() {
app.readyNow = true;
app.receivedEvent('deviceready');
},
...
if(app.readyNow) {
//Code to use device object. Fires with PhoneGap Desktop, not in PhoneGap Build
}