【问题标题】:Cordova iOS onResume firing at startup and crashing appCordova iOS onResume 在启动和崩溃应用程序时触发
【发布时间】: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);
  • 没关系。我们都会遇到这些类型的错误。

标签: jquery ios cordova events


【解决方案1】:

设法解决了这个问题,但不确定我做错了什么。我只能假设我一定有错误的事件名称,或者在我尝试修复它时,我在修复前一个问题之前添加了另一个问题。无论哪种方式,我做错了什么都会导致问题。

检查自己的事情:

  • 您的document.addEventListener('resume', onResume, false); 事件侦听器在设备准备就绪触发后运行代码。
  • 您调用的函数不包含 ()。例如。 onResume,不是onResume()
  • 您在恢复事件侦听器中只包含了一个函数名称,没有其他任何内容。
  • 您调用的函数包含一个 0 毫秒的 setTimeout 来绕过 iOS 怪癖。
  • 您已正确拼写函数和恢复事件。

【讨论】:

    猜你喜欢
    • 2018-12-27
    • 1970-01-01
    • 2017-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多