4ma*_*oud 3 xcode objective-c ios uilocalnotification
我正在开发一个项目,每天在与预定义数据库不同的时间通知用户,准确地说每天五次.
我的问题是如何安排所有这些时间,5times*365days = 1825火日期!! 是否有可能安排他们所有?
任何想法将非常感激
Edu*_*Edu 13
根据Apple文档:
应用程序只能有有限数量的预定通知; 系统保持最快的64次通知(自动重新安排的通知计为单个通知)并丢弃其余的通知
我通过设置通知的"队列"解决了这个问题.例如,在我的应用程序中,我有三种不同类型的通知,我们只说A,B和C类型.
我安排下个月的A,B和C通知,每次用户打开应用程序时,我都会检查剩下多少通知.例如,如果不再是A通知,则应用程序会安排更多A通知,依此类推.
我是怎么做到的?
每次我安排通知时,我都会使用该userInfo属性.我设置了一个带有调用键type和值的字典.
在我的app委托中,我检查所有待处理的通知,并计算每种类型剩余的数量.代码如下所示:
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++;
}
}
Run Code Online (Sandbox Code Playgroud)
如果任何类型的计数为零,则应用程序会安排更多通知.
最后,如果显示通知,例如,每天在同一时间您可以使用repeatInterval属性但是您不能创建自己的重复间隔,您只能使用中定义的重复间隔NSCalendarUnit.
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
3618 次 |
| 最近记录: |