Подтвердить что ты не робот

Приложение Кордовы, зависающее во время запуска на iOS 10

Я только что установил бета-версию Xcode 8, чтобы протестировать существующее приложение Кордовы в бета-версии iOS 10 (через Simulator). Когда приложение запущено, оно просто зависает на странице загрузки - кажется, что событие deviceready не запускается.

Итак, я также установил бета-версию iOS 10 на свой iPad Air (на всякий случай это проблема симулятора), но я получаю те же результаты.

Приложение отлично работает на iOS 9.3 (как на устройстве, так и на Simulator).

Кто-нибудь столкнулся/исправил эту проблему?

UPDATE

Другие симптомы этой проблемы включают:

  • приложение запустится правильно, если вы запустите приложение (вернитесь на главный экран), а затем перейдите в приложение (вернитесь к приложению)
  • некоторые плагины будут работать некорректно, пока вы не выполните вышеуказанное переключение
4b9b3361

Ответ 1

ОК, я нашел проблему и решение благодаря этот пост:

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

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

И приложение запускается и отлично работает на iOS 10.

Надеюсь, что это поможет другим.

Ответ 2

У меня была такая же проблема во время запуска, и даже если бы я сделал двойной щелчок на домашней кнопке и обратно в приложение, файловая система cordova не записывала бы на устройство.

Я пробовал много вещей, но, наконец, исправил его, добавив

child-src * gap://ready

в тег Политика безопасности