Cordova-plugin-local-notifications: 应用程序崩溃:原因:'-[NSNull doubleValue]:无法识别的选择器

创建于 2017-06-20  ·  3评论  ·  资料来源: katzer/cordova-plugin-local-notifications

警告:如果您忽略此模板,我们将忽略您的问题。

提供问题的一般摘要。

你的环境

  • 插件版本:0.8.5
  • 平台:iOS
  • 操作系统版本:10.3.2
  • 设备制造商/型号:iPhone 7
  • 科尔多瓦版本( cordova -v ):7.0.1
  • Cordova 平台版本( cordova platform ls ):4.4.0
  • 插件配置
  • 离子版本(如果使用离子)

预期行为

_应用程序不应崩溃_

实际行为

_应用程序崩溃_

重现步骤

_重现此问题; 包括要重现的代码(如果相关)

_我添加了以下代码_

        cordova.plugins.notification.local.schedule({
            id: 1,
            text: "Countdown finished",
            sound: null, // also tried without null and without key
            at: end.toDate() // this is a valid date Object passed trough from moment.js
        });

两件事:通知在后台模式和前台模式下触发。 只要没有达到预定的计时器,一切都很好。 它甚至可以毫无问题地触发通知。 但是,只要我按下主页按钮(将应用程序置于背景)并重新打开应用程序,它就会崩溃。 这仅在调度被触发后才会发生。 只要我按计划打开应用程序就一切正常,但在第二轮之后,它就崩溃了

语境

_在达到给定计时器时发送本地通知_

调试日志

2017-06-20 15:03:12.263333+0200 应用程序 [1034:586664] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[NSNull doubleValue]:无法识别的选择器发送到实例 0x1aea6bef8”*首先抛出调用栈:
(0x188902fe0 0x187364538 0x188909ef4 0x188906f54 0x188802d4c 0x100055408 0x1000558f8 0x100055730 0x100055574 0x100057fa8 0x100052ca8 0x10004dd48 0x100475a50 0x100475a10 0x100483990 0x100485630 0x10048539c 0x1879c3100 0x1879c2cac)
libc++abi.dylib:以 NSException 类型的未捕获异常终止

bildschirmfoto 2017-06-20 um 15 17 02

最有用的评论

好吧,我花了一个小时才找到问题所在。 抓住这一点应该很容易 1 2 3。喜欢这种类型的支持答案。 :D

所有3条评论

我刚刚发现这是由于我的“恢复”侦听器而发生的,它在本地通知中添加了一个无效的日期。 所以基本上,当“at”无效时,应用程序会崩溃。 应该有一个陷阱来防止应用程序由于错误的日期而崩溃。

为我修好了:

        if(end.isValid()) { // isValid is a function from moment.js
            cordova.plugins.notification.local.schedule({
                id: 1,
                text: "YAY! Die Wartezeit ist vorrüber!",
                sound: null,
                at: end.toDate()
            });
        }

没错,但不要传递糟糕的日期。

好吧,我花了一个小时才找到问题所在。 抓住这一点应该很容易 1 2 3。喜欢这种类型的支持答案。 :D

此页面是否有帮助?
0 / 5 - 0 等级