所以,我有一个锻炼应用程序,我们有 10/15 秒的重复计时器,我们通过它显示用户完成的进度。为了使其也能在后台运行,我使用了本地通知。但是,正如 Apple 所说,我们只能有 ONLY 64 local notifications 在我们应用程序的任何给定实例中。
所以,现在发生的是当应用程序在后台并且这 64 条通知已经完成时,我无法控制该应用程序。如果用户打开应用程序,我可以重新添加 64 条通知。但是,如果用户根本没有打开应用程序,这 64 条通知都已完成,那我该怎么办?
当任何本地通知到达时,应用程序内部是否发生任何事件?有什么办法可以超过通知的数量吗?
我认为应该有一个解决方案,因为有许多警报应用都采用相同的方法。
请帮忙!
最佳答案
您可以使用 repeatInterval
property of UILocalNotification
让您的通知自动重复每秒、分钟、小时、天或其他单位(参见 NSCalendarUnit
documentation ):
notification.repeatInterval = NSMinuteCalendarUnit;
对于您的情况,这意味着您可以创建 5 个通知,fireDate
间隔 10 秒,每个通知的 repeatInterval
为 NSMinuteCalendarUnit
。这将导致用户无限期地每 10 秒收到一次通知,而您将只能安排 5 次通知,这远低于 64 次的限制。
此技术的唯一缺点是在用户打开应用程序之前无法停止通知,因为您需要取消所有通知才能停止它们,而且您只能在应用程序运行时执行此操作运行。
关于iphone - 当本地通知到达或超过可以使用的通知总数时执行某些操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16734310/