Cordova应用程序在iOS 10启动时挂起

Dav*_*den 29 xcode ios cordova ios10 xcode8-beta2

我刚刚安装了Xcode 8 beta,以便在iOS 10 beta中测试我现有的Cordova应用程序(通过模拟器).当应用程序启动时,它只是挂在加载页面上 - 似乎deviceready事件没有被触发.

所以我也安装iOS版10测试我的产品iPad Air(以防万一它是一个模拟器的问题),但我得到了相同的结果.

该应用程序在iOS 9.3(设备和模拟器)上运行良好.

有人遇到/解决了这个问题吗?

UPDATE

此问题的其他症状包括:

  • 如果你背景应用程序(切换回主屏幕)然后前景应用程序(切换回应用程序),应用程序将正确启动
  • 在进行上述切换之前,某些插件将无法正常工作

Dav*_*den 78

好的,我发现问题和解决方案归功于这篇文章:

似乎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'">
Run Code Online (Sandbox Code Playgroud)

该应用程序启动并在iOS 10上正常运行.

希望这有助于其他人.

  • 奇怪的是,我遇到了同样的问题.不幸的是,添加元标记中的条目对我来说不起作用. (5认同)
  • 我遇到的问题是$ http.get()花了很长时间在iOS 10上检索数据,而iOS 9.3是瞬间的.添加两个标签修复此问题.谢谢! (2认同)
  • 工作得很好(非常感谢,因为我在这里几乎没有调试信息!).如果其他人想知道,对我来说另一个症状是,如果您切换回应用程序菜单然后跳回应用程序,应用程序*将*正确启动.鉴于解决方案,这没有任何意义,但是,这就是发生的事情. (2认同)