我刚刚安装了Xcode 8 beta,以便在iOS 10测试版中测试我现有的Cordova应用程序(通过模拟器)。当应用程序启动时,它只是挂在加载页面上 - 似乎deviceready
事件没有被触发。
所以我也在我的iPad Air上安装了iOS 10测试版(以防它是模拟器问题),但我得到了相同的结果。
该应用程序在iOS 9.3(设备和模拟器)上运行良好。
有人遇到/解决了这个问题吗?
更新
此问题的其他症状包括:
答案 0 :(得分:76)
好的,我发现问题和解决方案归功于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'">
该应用程序启动并在iOS 10上正常运行。
希望这有助于其他人。
答案 1 :(得分:3)
我在启动过程中遇到了同样的问题,即使我确实双击主页按钮并返回应用程序,cordova的文件系统也不会写入设备。
我尝试了很多东西,但最后通过添加
修复了它child-src * gap://ready
到Content-Security-Policy标记