每天在不同的时间发出本地通知
我正在开发一个项目,每天通过一个预定义的数据库在不同的时间通知用户,每天准确地进行五次。 我的问题是如何安排所有这些时间,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如果它适合您的需要。