Готовое устройство PhoneGap не срабатывает в ios, но отлично работает в эмуляторе Android и Ripple

Привет, ребята, у меня проблема с запуском устройства на ios, но код работает только на эмуляторе adnroid, а также на пульсации, я не знаю, в чем может быть проблема. я не пробовал его на устройстве readl android, но эмулятор работает нормально, но я пробовал его на iphone 5, который никогда не вызывает устройство готово. у меня есть еще один вопрос, правда ли, что существуют разные файлы js для Cordova для разных платформ?

var deviceReadyDeferred = $.Deferred();
var jqmReadyDeferred = $.Deferred();

document.addEventListener("deviceReady", deviceReady, false);
document.addEventListener("resume", deviceResume, false);

function deviceResume() {
doWhenBothFrameworksLoaded();
}

function deviceReady() {
deviceReadyDeferred.resolve();
}

$(document).one("mobileinit", function() {
jqmReadyDeferred.resolve();     
});

$.when(deviceReadyDeferred, jqmReadyDeferred).then(
doWhenBothFrameworksLoaded);

function doWhenBothFrameworksLoaded() {
var networkState = navigator.connection.type;

var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.CELL] = 'Cell generic connection';
states[Connection.NONE] = 'No network connection';

if (networkState == Connection.NONE)
    alert('You have to be connected to the internet in order to use this app.');
else {
    setTimeout(function(){
        $.mobile.changePage("deals.html", {
            transition : "pop",
            reverse : false,
            changeHash : false
        });
    },1000);
}
}


<!DOCTYPE HTML>
<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>PhoneGap</title>

    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
    <script type="text/javascript" charset="utf-8" src="cordova-2.6.0.js"></script>
    <script type="text/javascript" charset="utf-8" src="PushNotification.js"></script>
    <script type="text/javascript" charset="utf-8" src="js/jquery.min.js"></script>
    <script type="text/javascript" charset="utf-8" src="controller/index.js"></script>
    <script type="text/javascript" charset="utf-8" src="js/jqueryMobile.js"></script>
    <script type="text/javascript" charset="utf-8" src="js/handlebars.js"></script>
    <script type="text/javascript" charset="utf-8" src="js/handleHelpers.js"></script>
    <script type="text/javascript" charset="utf-8" src="js/jquery.timeago.js"></script>


    <link rel="stylesheet" href="css/jqm.css" charset="utf-8" />
    <link rel="stylesheet" href="css/style.css" charset="utf-8" />
</head>
<body>
    <div class="container splash" data-role="page" id="index">
        <img src="img/logo.png" />
    </div>
</body>
</html>

person Ramy Selim    schedule 02.05.2013    source источник
comment
Я бы поместил ваш js в другой файл и добавил его с остальными. Затем вызовите функцию загрузки тела ‹body onload=deviceReady()›.   -  person Steven Kinnear    schedule 02.05.2013
comment
он уже находится в другом файле index.js   -  person Ramy Selim    schedule 02.05.2013
comment
Gald, у вас все заработало, извините, я думал, что код js вверху был на той же странице, поскольку он не был так помечен;)   -  person Steven Kinnear    schedule 03.05.2013


Ответы (2)


Чтобы использовать phonegap вместе с jquery mobile, вам нужно использовать его следующим образом:

$(document).one("mobileinit", function() {
    $.support.cors = true;
    $.mobile.allowCrossDomainPages = true;
    jqmReadyDeferred.resolve();     
});
person clu3Less    schedule 02.05.2013
comment
Если вы пробовали это, но это не работает, проблема в том, что приложение никогда не запускает готовое устройство. - person Ramy Selim; 02.05.2013

Оказалось, что мне пришлось удалить файл cordova js из каталога и указать это в config.xml для сборки phonegap. Спасибо всем

person Ramy Selim    schedule 03.05.2013
comment
Не могли бы вы уточнить, что вы имеете в виду, указав это в config.xml? У меня такая же проблема, но я не уверен, что я могу сделать. - person dk123; 27.05.2013
comment
Вам нужно удалить cordova js из каталога, потому что сборка phonegap автоматически добавит phonegap.js в сборку. - person Ramy Selim; 09.09.2014