Cordova iOS deviceready 永远不会触发
Posted
技术标签:
【中文标题】Cordova iOS deviceready 永远不会触发【英文标题】:Cordova iOS deviceready never fires 【发布时间】: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 应用程序初始化吗? 【参考方案1】:这可能是由于 iOS 的更改导致我使用的推送插件停止工作。 我做了很多事情,他们可能都有帮助,我会一一列举:
什么似乎解决了它
-
删除所有插件并重新添加
cordova plugin ls (查看所有插件并记下它们) cordova plugin rm plugin-name (每个) cordova plugin add plugin-name (add 'em all back in )
什么也可能有所帮助
我更新到最新的 Xcode
将cordova(和cordova-ios)更新到最新版本
sudo npm install -g cordova cordova 平台更新 ios@latest
-
添加和删除ios平台
cordova 平台 rm ios 科尔多瓦平台添加ios
【讨论】:
我现在制作了一个脚本,可以删除然后重新添加我所有的插件 - 使得在需要时更容易进行此修复。以上是关于Cordova iOS deviceready 永远不会触发的主要内容,如果未能解决你的问题,请参考以下文章
Ionic + cordova-sqlite-storage + deviceready = 过渡时没有渲染?
在 Cordova 3.2.0 中未触发 deviceready 事件
Cordova 3.5 deviceready 事件在 5 秒后未触发
ATTN PhoneGap/Cordova 项目贡献者:以 2 种不同方式调用 deviceready 回调的问题