2016-07-16 28 views
23

Ich habe gerade Xcode 8 Beta installiert, um meine bestehende Cordova App in iOS 10 Beta (via Simulator) zu testen. Wenn die App gestartet wird, hängt sie einfach auf der Lade-Seite - scheint das deviceready Ereignis wird nicht ausgelöst.Cordova App hängt beim Start auf iOS 10

Also habe ich auch iOS 10 Beta auf meinem iPad Air installiert (nur für den Fall, dass es ein Simulator-Problem ist), aber ich bekomme die gleichen Ergebnisse.

Die App funktioniert gut auf iOS 9.3 (sowohl Gerät und Simulator).

Wer ist auf dieses Problem gestoßen?

UPDATE

Andere Symptome dieses Problems sind:

  • die App korrekt gestartet wird, wenn Sie Hintergrund der App (zurück zum Startbildschirm wechseln), dann Vordergrund der App (Schalter wieder auf die app)
  • einige Plugins wird nicht korrekt funktionieren, bis Sie das tun über Schalt

Antwort

68

OK , Fand ich das Problem und die Lösung dank this post:

Es scheint, dass iOS 10 weitere Einträge in dem Content-Security-Policy Meta-Tag erfordert, nämlich gap: und file:. Nach der Zugabe von diesen sieht mein Content-Security-Policy wie folgt aus:

<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'"> 

und die App startet und funktioniert auf iOS feinen 10.

Hope this anderen hilft.

+0

werden behoben, durch den Meta-Tag hinzuzufügen. In meiner index.html oder einer anderen Datei. Ich stehe auch vor dem gleichen Problem. Bitte helfen Sie. – Warrior

+1

Fügen Sie den Abschnitt von index.html hinzu. Siehe [cordova-plugin-whitelist docs] (https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-whitelist/#content-security-policy/), beachten Sie jedoch, dass dieses Plugin dies nicht tut müssen für iOS installiert werden, um das Meta-Tag aufzunehmen. – DaveAlden

+0

Ich bekomme immer noch den Fehler: [PDFAnnotation initWithWebView:]: unerkannter Selektor an Instanz 0x79684f20 gesendet – Warrior

1

Ich hatte das gleiche Problem beim Start, und selbst wenn ich einen Doppelklick auf die Home-Taste und zurück zur App, würde cordova Dateisystem nicht auf das Gerät schreiben.

habe ich versucht, eine Menge Dinge, aber es schließlich durch Zugabe von

child-src * gap://ready 

zum Content-Sicherheitsrichtlinien-Tag