每天在不同的时间发出本地通知

我正在开发一个项目,每天通过一个预定义的数据库在不同的时间通知用户,每天准确地进行五次。 我的问题是如何安排所有这些时间,5次* 365天= 1825年的火date! 是否有可能安排他们呢?

任何想法将非常感激

根据苹果文件:

应用程序可以只有有限数量的计划通知; 系统保持最快的64个通知(自动重新安排的通知作为单个通知计数),并丢弃剩下的通知

我通过设置通知的“队列”来解决这个问题。 例如,在我的应用程序中,我有三种不同types的通知,我们只是说typesA,B和C.

我安排了下个月的A,B和C通知,每当用户打开应用程序,我检查了多less通知。 例如,如果不再有A通知,则应用程序安排更多的通知等等。

我如何做到这一点?

每次我安排一个通知,我使用userInfo属性。 我用一个叫做type和值的键来设置一个字典。

在我的应用程序委托,我检查所有未决的通知,并计算每个types剩下多less。 代码如下所示:

 NSArray *scheduledNotifications = [UIApplication scheduledLocalNotifications]; NSUInteger AType, BType, CType; for (UILocalNotification *notif in scheduledNotifications) { //Classify notifications by type NSUInteger notifType = [[notif.userInfo objectForKey:@"type"]integerValue]; if (notifType == 0) { AType++; }else if(notifType == 1){ BType++; }else{ CType++; } } 

如果任何types的计数为零,应用程序会计划更多的通知。

最后,如果例如显示通知,则每天在同一时间可以使用repeatInterval属性, 但是不能创build自己的重复间隔,只能使用NSCalendarUnit定义的重复间隔。

希望能帮助到你。

你可以尝试使用Eventkit框架来添加提醒,事件和警报。

1)没有像UILocalNotification这样的通知限制数量。

2)使用事件工具包,您可以添加基于时间以及基于位置的事件。

3)你也不必担心隐私。

尽pipeUILocalNotification和EventKit都是非常强大的。

请注意:iOS 6或以上的EventKit框架

取决于您的需求,由您决定select哪一个。

下面的链接会给你很好的启动

资源1

资源2 。

下面的图片将给你一个很好的偷看什么evenkit。

EventKit_image

使用eventkit如果它适合您的需要。