Iphone 当多个本地通知触发时,如何增加应用程序图标徽章?
我正在尝试理解UILocalNotification的applicationBadge属性。我只能设置一个显式的徽章值,我不能指定我只想在通知触发时增加它Iphone 当多个本地通知触发时,如何增加应用程序图标徽章?,iphone,cocoa-touch,ios4,Iphone,Cocoa Touch,Ios4,我正在尝试理解UILocalNotification的applicationBadge属性。我只能设置一个显式的徽章值,我不能指定我只想在通知触发时增加它 我试图完成以下任务:一个通知触发,用户忽略它,第二个通知触发,用户忽略它。此时,我希望标记为2,但据我所知,没有任何方法可以实现来处理通知触发,但被忽略。不会调用My didReceiveLocalNotification事件。这意味着除了UILocalNotification.applicationBadge属性之外,我没有办法操作徽章号,
我试图完成以下任务:一个通知触发,用户忽略它,第二个通知触发,用户忽略它。此时,我希望标记为2,但据我所知,没有任何方法可以实现来处理通知触发,但被忽略。不会调用My didReceiveLocalNotification事件。这意味着除了UILocalNotification.applicationBadge属性之外,我没有办法操作徽章号,该属性没有简单的增量功能。我可以想到的一种方法是在内部维护一个计数,并且在创建每个通知时,为其分配正确的徽章属性。因此,如果您知道通知1将在通知2之前触发,则将第一个通知1和第二个通知2分配给它。这将解决您的上述问题
如果用户在通知1之后但在通知2之前启动应用程序,并删除了第一个“1”标记,则您可以为所有剩余通知重新分配标记属性。这比直接计算+=1要困难得多,但除非其他人有更好的想法,否则我认为这就是解决问题的方法。我有理由相信ApplicationCandBecdNumber的实现存在缺陷,或者至少与文档中描述的操作不符 我已在提交了一份错误报告/增强 您可以查看我在Open Radar存档的报告: 同时,我也使用了类似的黑客技术来实现这种简单的行为 Instapaper的开发者Marco表示,苹果会根据有多少开发者提出增强和功能请求来确定其优先级
如果此功能对您很重要,我建议您也提交一份报告。查看我为UILocalNotification制作的这一类别:谢谢您的建议。那么这只是本地通知设计中的一个疏忽吗?badge属性在这个实现中似乎相当无用。它可能只是使通知可用所需的最低API。我认为当前的实现给了开发者更多的徽章控制权,但我同意它可能更难使用。谢谢。感觉很好,但我实现了您的解决方案,它正在工作。我获取所有通知的列表,删除所有通知,然后使用升序标记属性添加它们。