在 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 上运行
Phonegap-Pushplugin:在 iOS 中处理通知的点击事件