Событие phonegap deviceready срабатывает только тогда, когда приложение теряет фокус

Я установил последнюю версию phonegap через npm и недавно обновил свой iPhone SE до iOS 10. Теперь, когда я запускаю «phonegap run ios», когда мое устройство подключено через USB-кабель к моему iMac, приложение загружается, я получить отладочное предупреждение от функции app.bindEvents, но событие deviceready не запускается. Однако это происходит до тех пор, пока мое приложение не потеряет фокус (двойным нажатием кнопки «Домой»), и в этот момент сработает мое предупреждение об отладке в onDeviceReady.

Я предположил, что это как-то связано с моим приложением, поэтому удалил все сторонние плагины и весь лишний javascript, но все равно произошло то же самое. Поэтому я создал совершенно новое приложение, которое устанавливает стандартную страницу Phonegap «Подключение к устройству ...», и даже это делает это, хотя я никак не изменил ее. Опять же, когда приложение теряет фокус, я получаю сообщение «Устройство готово».

У кого-нибудь есть идеи, почему это может происходить?


person b4tch    schedule 28.09.2016    source источник


Ответы (1)


Этот пост имеет разрешение: приложение Cordova зависает во время запуска на iOS 10. (бета)

Цитировать:

Похоже, что iOS 10 требует дополнительных записей в метатеге Content-Security-Policy, а именно gap://ready и file:. После их добавления моя Content-Security-Policy выглядит так:

<meta http-equiv="Content-Security-Policy" content="default-src * gap://ready file:; style-src 'self' 'unsafe-inline'; img-src 'self' data:; script-src * 'unsafe-inline' 'unsafe-eval'">

Поэтому просто измените приведенный выше метатег в файле index.html, и сработает событие deviceready.

person b4tch    schedule 28.09.2016
comment
Это помогло мне! Спасибо! - person TheBurgerShot; 29.09.2016
comment
Это устраняет проблему, с которой мы столкнулись, когда приложение запускало пустой экран после заставки. Люди в магазине приложений думали, что это связано с несовместимостью сети IPv6. Но на самом деле это было из-за этой проблемы. - person flaria; 27.04.2017