Objective-C删除的UILocalNotification仍然在删除后出现

时间:2019-11-29 07:13:10

标签: ios objective-c uilocalnotification

我创建带有notID的本地推送通知,然后在删除过程中使用以下代码块将其删除;

NSString *myIDToCancel = [NSString stringWithFormat: @"m%@", object.reminderID];
UILocalNotification *notificationToCancel=nil;

for(UILocalNotification *aNotif in [[UIApplication sharedApplication] scheduledLocalNotifications]) {
                            if([[aNotif.userInfo objectForKey:@"notID"] isEqualToString:myIDToCancel]) {
                                notificationToCancel=aNotif;
                                    [[UIApplication sharedApplication] cancelLocalNotification:notificationToCancel];
//                                break;
                            }
                        }

我评论了休息时间;因为可以有1个以上具有相同ID的通知-例如每天4次通知之间6小时之间具有相同的notID-因此我可以在退出for循环之前检查所有通知。

它曾经可以完美地工作,但现在不是。调试时,我可以看到它会检查并逐个取消通知,但是在该本地通知启动后,甚至被取消。

编辑:我还通过以下方式检查了ScheduledLocalNotifications: NSArray *localNotifications = [[UIApplication sharedApplication] scheduledLocalNotifications];

代码块,删除后显示0个元素,但仍会触发。

0 个答案:

没有答案