2016-07-16 3 views
23

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

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

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

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

UPDATE

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

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

ответ

68

OK , Я обнаружил, что проблемы и решение благодаря this post:

кажется, что 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'"> 

И приложение запускается и работает нормально на прошивке 10.

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

+0

Где добавить мета-тег. В моем index.html или другом файле. Я также сталкиваюсь с той же проблемой. Пожалуйста помоги. – Warrior

+1

Добавить в раздел index.html. См. [Cordova-plugin-whitelist docs] (https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-whitelist/#content-security-policy/), но обратите внимание, что этот плагин не для iOS необходимо установить метатег. – DaveAlden

+0

Я все еще получаю сообщение об ошибке: [PDFAnnotation initWithWebView:]: непризнанный селектор, отправленный в экземпляр 0x79684f20 – Warrior

1

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

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

child-src * gap://ready 

тэгу Content-Security-Policy

Смежные вопросы