Reputation: 30356
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:
Upvotes: 31
Views: 17730
Reputation: 389
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
Upvotes: 3
Reputation: 30356
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.
Upvotes: 81