所以我在build.phonegap.com工作流程中遇到了很多困难。使用Cordova 3.3和Droid Razr Maxx。如果我在本地构建,插件在模拟器中工作。在Phonegap构建(在设备上),javascript运行良好,但插件完全被塞了。我已将插件代码添加到我的config.xml中,但它们没有显示在build.phonegap.com上的项目中。使用远程调试,即使成功手动触发deviceready回调,我也没有navigator.device对象。因此,没有对插件的调用。
config.xml中:
S,T,L。 很棒的东西。 渣
<gap:plugin name="org.apache.cordova.media-capture" />
<gap:plugin name="org.apache.cordova.device" />
<gap:plugin name="org.apache.cordova.file" />
<gap:plugin name="org.apache.cordova.file-transfer" />
<gap:plugin name="org.apache.cordova.geolocation" />
<gap:plugin name="org.apache.cordova.media" />
一些代码,包括我的设备就绪:
// device APIs are available
//
function onDeviceReady() {
console.log('device ready');
$('#group1').hide();
$('.ui-btn').hide();
$('#group2').hide();
captureImage();
}
function checkboxHandler(callback) {
console.log(callback.id + " clicked, new value = " + callback.checked);
if (callback.checked) {
$('.' + callback.id).show();
console.log('showing ' + callback.id);
} else {
$('.' + callback.id).hide();
}
}
function addTemplateItems (template) {
// SNIP SNIP
}
$(document).ready(function() {
addTemplateItems(tagTemplate);
$(document).delegate('.ui-page', "swipeleft", function(){
var $nextPage = $(this).next('[data-role="page"]');
var $prevPage = $(this).prev('[data-role="page"]');
console.log("binding to swipe-left on "+$(this).attr('id') );
// swipe using id of next page if exists
if ($nextPage.length > 0) {
$.mobile.changePage($nextPage, { transition: 'slide' });
} else {
var message = 'tagged!';
// save tags here
flashNotify(message);
console.log('fire event!');
$('#flashNotification').promise().done(function () {
$('#group1').hide();
$('#group2').hide();
$('.ui-btn').hide();
addTemplateItems(tagTemplate);
$.mobile.changePage($prevPage, { transition: 'none' });
captureImage();
});
}
}).delegate('.ui-page', "swiperight", function(){
var $prevPage = $(this).prev('[data-role="page"]');
console.log("binding to swipe-left on "+$(this).attr('id') );
// swipe using id of next page if exists
if ($prevPage .length > 0) {
$.mobile.changePage($prevPage, { transition: 'slide', reverse : true });
} else {
alert('no backy backy!');
}
});
});
document.addEventListener("deviceready", onDeviceReady, false);