Cordova iOS onResume 在启动和崩溃应用程序时触发
Posted
技术标签:
【中文标题】Cordova iOS onResume 在启动和崩溃应用程序时触发【英文标题】:Cordova iOS onResume firing at startup and crashing app 【发布时间】:2016-02-21 18:35:27 【问题描述】:我目前只是为 ios 8+ 构建,我正在模拟器中测试 iPhone 6 和 6S+。我正在使用命令行来构建和运行,并且正在使用 Cordova CLI。我还多次使用 XCode 来检查功能或修复配置问题。
这不是我使用 Cordova 构建的第一个应用程序,而且我之前能够毫无问题地使用 resume 事件。
我正在使用document.addEventListener("resume", onResume(), false);
在我的应用程序恢复时触发某些功能。但是,此功能在首次启动时触发,而在启动时根本不触发。似乎只要恢复功能触发它就会使我的应用程序崩溃。
我已将我的应用程序简化为基本框架,现在 onResume 函数中什么都没有发生,除了以下内容:
function onResume()
setTimeout(function()
console.log('App resumed');
,0);
这里有点发疯了。我安装了以下插件。
com.telerik.plugins.healthkit 0.4.2“HealthKit” cordova-plugin-console 1.0.2“控制台” cordova-plugin-splashscreen 3.1.0“启动画面” cordova-plugin-statusbar 2.1.1“状态栏” cordova-plugin-webserver 1.0.3 "CordovaWebServer" cordova-plugin-whitelist 1.2.1“白名单”【问题讨论】:
请在您的帖子中回答以下问题。因为这似乎是你关于这个主题的第一篇文章。这是您的第一个混合应用程序吗?您的目标平台及其目标版本是什么:android 4、5、6? iOS 7、8、9?你在使用CLI, SDK or Build 吗?请不要假设答案,请阅读链接。一旦您回答了帖子中的问题,请在 cmets 中回复,以便我知道您已在帖子中添加信息。 @JesseMonroy650 感谢您的回复。我已经更新了我的帖子。 我刚刚将事件代码放回原处,现在它可以工作了。我不知道我之前做了什么导致它不起作用,但显然一定是我自己造成的问题。 @JesseMonroy650 感谢您的帮助,很抱歉浪费了您的时间。 你真的在使用document.addEventListener("resume", onResume(), false);
吗?应该是document.addEventListener("resume", onResume, false);
没关系。我们都会遇到这些类型的错误。
【参考方案1】:
设法解决了这个问题,但不确定我做错了什么。我只能假设我一定有错误的事件名称,或者在我尝试修复它时,我在修复前一个问题之前添加了另一个问题。无论哪种方式,我做错了什么都会导致问题。
检查自己的事情:
您的document.addEventListener('resume', onResume, false);
事件侦听器在设备准备就绪触发后运行代码。
您调用的函数不包含 ()。例如。 onResume
,不是onResume()
。
您在恢复事件侦听器中只包含了一个函数名称,没有其他任何内容。
您调用的函数包含一个 0 毫秒的 setTimeout 来绕过 iOS 怪癖。
您已正确拼写函数和恢复事件。
【讨论】:
以上是关于Cordova iOS onResume 在启动和崩溃应用程序时触发的主要内容,如果未能解决你的问题,请参考以下文章
Cordova,onResume() 仅在我包含 alert() 时才有效
iOS 8 和 Cordova:应用程序在首次启动时立即请求推送通知权限
iOS 启动器图像和 Cordova Splashscreen 可以使用不同的图片吗?