简体   繁体   中英

Cordova app hanging during startup on iOS 10

I just installed Xcode 8 beta in order to test my existing Cordova app in iOS 10 beta (via Simulator). When the app is launched, it just hangs on the loading page - seems the deviceready event is not being fired.

So I also installed iOS 10 beta on my iPad Air (just in case it's a Simulator issue), but I get the same results.

The app works fine on iOS 9.3 (both device and Simulator).

Anyone encountered/fixed this problem?

UPDATE

Other symptoms of this problem include:

  • the app will start correctly if you background the app (switch back to the home screen) then foreground the app (switch back to the app)
  • some plugins will not work correctly until you do the above switching

OK, I found the problem and the solution thanks to this post :

It seems that iOS 10 requires additional entries in the Content-Security-Policy meta tag, namely gap: and file: . After adding these, my Content-Security-Policy looks like this:

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

And the app starts up and works fine on iOS 10.

Hope this helps others.

I had the same problem during startup, and even if I did do a double tap on the home button and back to the app, cordova's file system wouldn't write to the device.

I tried a lot of things, but finally fixed it by adding

child-src * gap://ready

to the Content-Security-Policy tag

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM