Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 当多个本地通知触发时,如何增加应用程序图标徽章?_Iphone_Cocoa Touch_Ios4 - Fatal编程技术网

Iphone 当多个本地通知触发时,如何增加应用程序图标徽章?

Iphone 当多个本地通知触发时,如何增加应用程序图标徽章?,iphone,cocoa-touch,ios4,Iphone,Cocoa Touch,Ios4,我正在尝试理解UILocalNotification的applicationBadge属性。我只能设置一个显式的徽章值,我不能指定我只想在通知触发时增加它 我试图完成以下任务:一个通知触发,用户忽略它,第二个通知触发,用户忽略它。此时,我希望标记为2,但据我所知,没有任何方法可以实现来处理通知触发,但被忽略。不会调用My didReceiveLocalNotification事件。这意味着除了UILocalNotification.applicationBadge属性之外,我没有办法操作徽章号,

我正在尝试理解UILocalNotification的applicationBadge属性。我只能设置一个显式的徽章值,我不能指定我只想在通知触发时增加它


我试图完成以下任务:一个通知触发,用户忽略它,第二个通知触发,用户忽略它。此时,我希望标记为2,但据我所知,没有任何方法可以实现来处理通知触发,但被忽略。不会调用My didReceiveLocalNotification事件。这意味着除了UILocalNotification.applicationBadge属性之外,我没有办法操作徽章号,该属性没有简单的增量功能。

我可以想到的一种方法是在内部维护一个计数,并且在创建每个通知时,为其分配正确的徽章属性。因此,如果您知道通知1将在通知2之前触发,则将第一个通知1和第二个通知2分配给它。这将解决您的上述问题


如果用户在通知1之后但在通知2之前启动应用程序,并删除了第一个“1”标记,则您可以为所有剩余通知重新分配标记属性。这比直接计算+=1要困难得多,但除非其他人有更好的想法,否则我认为这就是解决问题的方法。

我有理由相信ApplicationCandBecdNumber的实现存在缺陷,或者至少与文档中描述的操作不符

我已在提交了一份错误报告/增强

您可以查看我在Open Radar存档的报告:

同时,我也使用了类似的黑客技术来实现这种简单的行为

Instapaper的开发者Marco表示,苹果会根据有多少开发者提出增强和功能请求来确定其优先级


如果此功能对您很重要,我建议您也提交一份报告。

查看我为UILocalNotification制作的这一类别:

谢谢您的建议。那么这只是本地通知设计中的一个疏忽吗?badge属性在这个实现中似乎相当无用。它可能只是使通知可用所需的最低API。我认为当前的实现给了开发者更多的徽章控制权,但我同意它可能更难使用。谢谢。感觉很好,但我实现了您的解决方案,它正在工作。我获取所有通知的列表,删除所有通知,然后使用升序标记属性添加它们。