在 iOS 中使用 PushPlugin for Cordova 清除单个通知

Posted

技术标签:

【中文标题】在 iOS 中使用 PushPlugin for Cordova 清除单个通知【英文标题】:Clear a single notification with PushPlugin for Cordova in iOS 【发布时间】:2015-02-10 23:09:20 【问题描述】:

在我使用 Cordova 开发的 ios 应用程序中,我使用的是 PushPlugin,当您在通知中有多个应用程序通知时,我遇到了一个问题(也许对其他人来说不是问题) center 如果您单击其中一个(应用程序启动),然后您再次查看通知中心,您将看不到任何剩余通知。

看了下插件代码,发现AppDelegate+notification.m文件的applicationDidBecomeActive函数中包含了这一行:

application.applicationIconBadgeNumber = 0;

可能是这条线的问题吗?如果没有,我如何编辑代码以仅清除单击的通知?

我几天前在插件库中打开了一个问题,但没有收到开发人员的任何回复。

【问题讨论】:

【参考方案1】:

问题是iOS 7及之前版本是如何管理通知的,没有办法只删除一个通知,你可以删除全部或不删除,但不能删除一个,这不是插件错误,你无能为力

似乎在 iOS 8 上,当您单击通知时,苹果会自动删除它,因此您不必在 iOS 8 上执行此行:application.applicationIconBadgeNumber = 0;

你可以使用这个预处理器宏

#define SYSTEM_VERSION_LESS_THAN(v)                 ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)

如果设备有旧版本,请检查版本以删除所有通知

if (SYSTEM_VERSION_LESS_THAN(@"8.0")) 
    application.applicationIconBadgeNumber = 0;

【讨论】:

我不这么认为,请检查 Skype 应用程序或其他许多应用程序,此应用程序完全符合我的要求。 看我的编辑,当你点击它们时,iOS 8 会自动删除它们

以上是关于在 iOS 中使用 PushPlugin for Cordova 清除单个通知的主要内容,如果未能解决你的问题,请参考以下文章

cordova pushplugin 无法在 iOS 中获取设备令牌

Netbeans Cordova PushPlugin 无法在 iOS 上运行

如何在 PushPlugin 中配置 apn 服务器?

Phonegap-Pushplugin:在 iOS 中处理通知的点击事件

Phonegap PushPlugin 无法接收通知 ios

iOS PushPlugin Cordova 注册问题