web-dev-qa-db-ja.com

iOS 10での起動中にCordovaアプリがハングする

IOS 10ベータ版で既存のCordovaアプリを(シミュレーター経由で)テストするために、Xcode 8ベータ版をインストールしました。アプリを起動すると、読み込みページでハングするだけです-devicereadyイベントが発生していないようです。

そのため、iPad AirにiOS 10ベータ版もインストールしました(シミュレーターの問題の場合に備えて)が、同じ結果が得られます。

アプリはiOS 9.3(デバイスとシミュレーターの両方)で正常に動作します。

誰もがこの問題に遭遇/修正しましたか?

[〜#〜] update [〜#〜]

この問題の他の症状は次のとおりです。

  • アプリをバックグラウンド(ホーム画面に切り替える)してからアプリをフォアグラウンド(アプリに切り替える)すると、アプリは正しく起動します。
  • 上記の切り替えを行うまで、一部のプラグインは正しく動作しません
29
DaveAlden

OK、私は問題と解決策を見つけました この投稿

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で正常に動作します。

これが他の人の役に立つことを願っています。

76
DaveAlden

起動時に同じ問題が発生し、ホームボタンをダブルタップしてアプリに戻っても、cordovaのファイルシステムはデバイスに書き込みません。

私は多くのことを試してみましたが、最終的にそれを追加して修正しました

child-src * gap://ready

content-Security-Policyタグへ

3
user2981810