deviceready仅在iOS 10中30秒后启动

时间:2016-12-02 16:53:34

标签: ios cordova ionic-framework device

当我在我的iOS设备上运行时,我的设备已经在我的离子应用程序中启动时没有发射或触发

ionic run ios --device -lcs

我删除了ionic plugin rm ...的所有插件,删除了plugins/目录的内容并重新安装了它们。 我还使用ionic platform rm/add ios删除并重新安装了ios平台。

我坚持这个。

iPhone(6+)在iOS 10上。

我正在使用离子1和最后一个离子CLI。

编辑:我逐个删除了所有插件,似乎问题是由于cordova-plugin-network-information和cordova-plugin-device。

Process 663 detached
(lldb) 
(node:26790) DeprecationWarning: Using Buffer without `new` will soon stop working. Use `new Buffer()`, or preferably `Buffer.from()`, `Buffer.allocUnsafe()` or `Buffer.alloc()` instead.

14    030280   warn     Native: deviceready did not fire within 2000ms. This can happen when plugins are in an inconsistent state. Try removing plugins from plugins/ and reinstalling them.
15    030605   info     [object Object]
16    033286   log      deviceready has not fired after 5 seconds.
17    033290   log      Channel not fired: onCordovaInfoReady
18    033293   log      Channel not fired: onCordovaConnectionReady
19    363977   log      DEVICE READY FIRED AFTER, 32259, ms

我的run.js,AppCtrl.js和我的主视图的控制器都封装在$ ionicPlatform.ready(function(){..});`

我的内容安全政策是:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; connect-src 'self' 'unsafe-inline' 'unsafe-eval' blob: ws: *;">

2 个答案:

答案 0 :(得分:11)

我添加了感谢您的回复@baviskarmitesh。但我必须将gap添加到内容安全策略中,现在它似乎可以正常工作。

我在data: gap: https://ssl.gstatic.com 'unsafe-eval'之后将default-src *添加到我的index.html文件中的内容安全政策中,如下所示:

<meta http-equiv="Content-Security-Policy" content="
  default-src * data: gap: https://ssl.gstatic.com 'unsafe-eval';
  style-src 'self' 'unsafe-inline' https://fonts.googleapis.com;
  script-src 'self' 'unsafe-inline' 'unsafe-eval' *;
  connect-src 'self' 'unsafe-inline' 'unsafe-eval' blob: ws: *;
">

现在,我的所有插件都会快速启动。

答案 1 :(得分:1)

这似乎是Ionic框架的常见问题,可能有多种原因。一个原因可能是您使用的插件存在一些问题,或者也可能是由于平台文件夹中的某些问题。在Ionic CLI项目中似乎有open issue

以下可能是此问题的可能解决方法:

  1. 删除有故障的插件并重新添加相同的
  2. 删除平台文件夹并重新添加。
  3. 可能避免使用实时重新加载选项
  4. 如果问题是iOS特定的,那么您可以尝试放宽内容安全策略
  5. 您还可以查看此link

    希望这应该有所帮助。