iOS UILocalNotification错误地多次触发

时间:2014-07-26 11:17:11

标签: ios objective-c uilocalnotification

感谢您的光临!

我有一个使用UILocalNotifications的应用程序(实际上是两个),带有repeatInterval。有时,不是特别经常(但绝对经常),本地通知似乎会复制自己,并在每次重复时启动额外的时间。

所以它第一次按照预期发射一次,但是当重复间隔到来时,它将发射两次,下一次发射三次,依此类推。我很确定我在代码中没有做任何狡猾的事情,所以想知道这是否是其他人遇到的错误?这已在iOS 7.1.X和两个不同的设备(iPhone 5和5S)上看到,但实际上在iOS 6或其他设备上没有经过多少测试,因此可能不是特别相关。

2 个答案:

答案 0 :(得分:0)

代码会有所帮助。但你可以考虑点

1)在重新安排通知之前,取消所有通知,因为您可能正在重新安排,而不是取消之前的预定通知。请在重新安排之前使用[[UIApplication sharedApplication] cancelAllLocalNotifications];

2)检查您是否在计划之后错误地使用repeatInterval重新安排通知。repeatInterval只需要安排一次。

iOS7通知中进行了一些更改,我对localNotification所感受到的一个更改是,如果您在iOS7转发时间,而不是之前的所有通知都不会到来,那就是通常不会出现与iOS6相同的问题。但是错误是它会保留在scheduleNotificaiton数组中,即当您检查[[UIApplication sharedApplication] scheduledLocalNotifications];的数量时,它也会有过去时间通知计数,但不会发生。但是我已经检查了iOS6情况并非如此。

可能是您的问题归因于iOS7通知中的更改。

答案 1 :(得分:0)

我已经不再在iOS 8上看到这个了,所以我将它变成了iOS 7的错误!