Phonegap/cordova localNotifications 插件在模拟器上工作,但不在设备上

Posted

技术标签:

【中文标题】Phonegap/cordova localNotifications 插件在模拟器上工作,但不在设备上【英文标题】:Phonegap/cordova localNotifications plugin working on emulator, but not on device 【发布时间】:2015-04-26 18:00:05 【问题描述】:

我正在使用https://github.com/katzer/cordova-plugin-local-notifications

我有一个奇怪的问题,通知显示在模拟器中,但不是在真实设备上。

当应用在后台时,我做了一个简单的调用:

    cordova.plugins.notification.local.schedule(
        title: 'Hello',
        message: 'world'
    );

然后什么也没有发生。我从 Safari 控制台进行了测试,registerPermissions 在回调中通过了true,并且我的 Pushwoosh 插件 (https://build.phonegap.com/plugins/1297) 可以很好地处理推送通知。

我在 iPhone 5 ios 7.1、iPhone 4S iOS 7.0 和 iPad 2 iOS 8.1.2 上使用 PhoneGap Build 进行了测试。

在模拟器中一切正常。

UPD

如果我在 5 秒后在前台安排延迟通知,然后将应用程序带到后台,它会起作用。似乎我无法以某种方式从后台触发即时通知。

【问题讨论】:

【参考方案1】:

当您从 IOS 卸载该应用时,您确定它会删除与该应用相关的所有缓存和数据吗?

参考:http://www.wikihow.com/Delete-Application-Data-in-iOS

然后尝试再次将其安装到设备上。

我还假设您正在通过 cordova 创建调试版本,因此您可以查看在手机上加载应用程序时触发的日志?

【讨论】:

本地通知的缓存和数据如何显示或不显示?我按照说明完成了这些步骤,再次安装,但没有任何改变。顺便说一句,这不是关于从应用程序接收通知的任何新确认弹出窗口。不了解日志。我在哪里可以打开调试模式以及在哪里可以找到该日志?谢谢。 数据和缓存在某种意义上是相关的,如果重新安装应用程序并没有完全重新安装,但缓存中有剩余或数据保存在设备上,它可能会加载这些“旧”设置,因此不会向您显示全新安装的应用程序。我提到它,因为它值得检查。对于调试,您是否尝试查找任何信息? developer.apple.com/support/technical/debugging

以上是关于Phonegap/cordova localNotifications 插件在模拟器上工作,但不在设备上的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap/Cordova 中的本地通知

基于 Swift 项目的 PhoneGap/Cordova App

PhoneGap/Cordova 设备未准备好

桌面/移动标准网页中的phonegap / cordova社交共享插件

没有phonegap\.cordova\config.json

CompileXIB 中的 Phonegap (Cordova) 错误