vseriousv
@vseriousv
Node.js-разработчик

Как исправить ошибку gap_init:3 при сборке на ios?

Здравствуйте!
При сборке проекта на андроид, никаких проблем нет, но когда этот же проект собираешь на ios, вылетают 3 prompt'а с сообщениями:
1) gap_init:3
2) gap:[null,"CoreAndroid","messageChannel","CoreAndroid569204053"]
3) gap:[null,"CoreAndroid","show","CoreAndroid569204054"]

Что касается моего проекта и config.xml:
Я указываю откуда брать статику для приложения и вместо того чтобы её брать из папки www, у меня она берется с S3 AWS
<content src="https://mydomen.com/" />
и
<allow-navigation href="https://mydomen.com/*" />
Не буду вас грузить, почему сделано таким образом, просто скажу, что для того чтобы статика загружалась без сервера, нужно переписывать весь проект, а он написан еще на angular.js с ужасной реализацией маршрутизации.

Я смотрел файл cordova.js, который подключается в index.html и выяснил откуда берутся эти prompt сообщения.
Это первое сообщение, строка: 1002
androidExec.init = function() {
    bridgeSecret = +prompt('', 'gap_init:' + nativeToJsBridgeMode);
    channel.onNativeReady.fire();
};

И это еще второе и третье сообщение, строка: 357
module.exports = {
    exec: function(bridgeSecret, service, action, callbackId, argsJson) {
        return prompt(argsJson, 'gap:'+JSON.stringify([bridgeSecret, service, action, callbackId]));
    },
    setNativeToJsBridgeMode: function(bridgeSecret, value) {
        prompt(value, 'gap_bridge_mode:' + bridgeSecret);
    },
    retrieveJsMessages: function(bridgeSecret, fromOnlineEvent) {
        return prompt(+fromOnlineEvent, 'gap_poll:' + bridgeSecret);
    }
};


Закомментить не вариант, ну и единственное что я смог сделать, это исправить prompt на console.log, что вроде бы помогло с одной стороны, но не исправило того, для чего все это требуется, плагины не работают!

Кто сталкивался с такой проблемой?
Это ведь вообще неправильно, что требуется делать такие костыли? Явно должен быть выход из этой ситуации кордововскими способами?
Почему вообще дергаются эти андроидовские функции, учитывая, что сборка осуществляется на ios?
  • Вопрос задан
  • 114 просмотров
Решения вопроса 1
vseriousv
@vseriousv Автор вопроса
Node.js-разработчик
Решение оказалось простым, файл cordova.js который я хранил, на AWS S3 был сконфигурирован для android, пришлось делать отдельно бакет с еще одной статикой но с cordova.js для iOS.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы