安排本地通知的编号

Min*_*arg 11 cocoa-touch ios uilocalnotification

我正在制作一个iPhone应用程序,我已经实现了本地通知的概念,提醒用户服用药物.

但在iOS中,我们一次不能安排超过64个通知.但是我在数据库中有许多日期时间条目.我如何安排超过64个通知?

Emp*_*ack 16

您已经知道,每个应用最多可以安排64个通知.如果你添加更多,系统将保持最快的64个通知,并将丢弃另一个.

确保所有通知都已安排的一种方法是先安排前64个通知,然后按常规时间间隔(可能是每次启动应用程序或每次通知触发时)检查计划的通知数量以及是否有少于64个通知,比方说n通知,然后安排下一个(64-n)通知.

int n = [[[UIApplication sharedApplication] scheduledLocalNotifications] count];
int x = 64 - n;
// Schedule the next 'x' notifications
Run Code Online (Sandbox Code Playgroud)

  • 它表示每个设备每个应用程序64个通知 (3认同)

Jak*_*lik 5

我已经创建了带有本地通知的应用程序,在这种情况下,用户在给定的时间间隔内每 20/40/60 分钟收到一次通知(例如 8:00-20:00)。解决方案是全天生成多达 64 条通知,并将UILocalNotification 的 repeatInterval设置为 NSCalendarUnitDay。当然,如果您需要使用更复杂的通知模式,这不是可行的方法。

另外值得一提的是,自从 iOS7 以来,由于客户端的要求,我不得不在后台应用程序刷新中重新安排通知。