【问题标题】:Cordova iOS deviceready never firesCordova iOS deviceready 永远不会触发
【发布时间】:2016-10-18 07:21:25
【问题描述】:

多年来,我一直在开发 Cordova 应用程序,并且经常遇到“设备就绪”事件在 iOS 中根本不会触发的问题。
(这不是 cordova.js 文件丢失,这似乎是我在 SO 上找到的唯一答案)。
目前我正在使用 Cordova v6.3.1,尽管我在许多早期版本中都遇到过同样的问题。

其他人肯定会遇到这个问题 - 我现在会尝试解决它,并将答案发布在这里。


示例index.html 代码:

<html>
    <body>
        <script src="cordova.js"></script>
        <script>
            document.addEventListener("deviceready", 
               function() { alert('device ready fired!'); }, false);
        </script>
    </body>
</html>

【问题讨论】:

  • 您的 JavaScript 代码可以阻止您的 Cordova 应用程序初始化吗?

标签: javascript ios cordova


【解决方案1】:

这可能是由于 iOS 的更改导致我使用的推送插件停止工作。
我做了很多事情,他们可能都有帮助,我会一一列举:

什么似乎解决了它

  1. 删除所有插件并重新添加

cordova plugin ls (查看所有插件并记下它们)
cordova plugin rm plugin-name (每个)
cordova plugin add plugin-name (add 'em all back in )

什么也可能有所帮助

  1. 我更新到最新的 Xcode

  2. 将cordova(和cordova-ios)更新到最新版本

sudo npm install -g cordova
cordova 平台更新 ios@latest

  1. 添加和删除ios平台

cordova 平台 rm ios
科尔多瓦平台添加ios

【讨论】:

  • 我现在制作了一个脚本,可以删除然后重新添加我所有的插件 - 使得在需要时更容易进行此修复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-16
相关资源
最近更新 更多