#javascript #ios #cordova
#javascript #iOS #кордова
Вопрос:
Я разрабатываю приложения Cordova уже несколько лет, и часто сталкиваюсь с проблемой, когда событие «deviceready» просто не запускается в iOS.
(Это не cordova.js
пропавший файл, который, похоже, является единственным ответом, который я нахожу в SO).
В настоящее время я использую Cordova версии 6.3.1, хотя у меня была такая же проблема во многих более ранних версиях.
Конечно, другие сталкиваются с этой проблемой — я попытаюсь решить ее сейчас и опубликую ответ здесь.
Пример index.html
кода:
<html>
<body>
<script src="cordova.js"></script>
<script>
document.addEventListener("deviceready",
function() { alert('device ready fired!'); }, false);
</script>
</body>
</html>
Комментарии:
1. Может ли ваш javascript-код блокировать инициализацию вашего приложения cordova и все такое?
Ответ №1:
Возможно, это было вызвано изменениями, внесенными iOS, из-за чего плагин push, который я использовал, перестал работать.
Я сделал много вещей, возможно, все они помогли, я перечислю их все:
Что, казалось, решило это
- Удалите все плагины и повторно добавьте их
cordova plugin ls (посмотрите все плагины и запишите их)
cordova plugin rm plugin-name (для каждого из них)
плагин cordova добавить имя плагина (добавьте их все обратно)
Что, возможно, также помогло
-
Я обновился до последней версии Xcode
-
Обновите cordova (и cordova-ios) до последней версии
установка sudo npm -g
cordova обновление платформы cordova ios @последняя версия
- Добавление и удаление платформы ios
платформа cordova rm ios
платформа cordova добавить ios
Комментарии:
1. Теперь я создал скрипт, который удаляет, а затем добавляет обратно все мои плагины, что значительно упрощает это исправление, когда оно требуется.