2011-06-20 36 views
0

我想在我的先前本地通知被触发时安排本地通知。 它应该得到安排,无视用户点击'查看'或'取消'。我没有得到适当的地方(委托方法)安排新的通知。根据苹果文档,应用程序:(UIApplication *)application didFinishLaunchingWithOptions:can be used但它似乎并没有被调用,当应用程序来自前台从背景和应用程序:(UIApplication *)应用程序didReceiveLocalNotification:只需点击'视图'而不是关闭。我应该这样做吗?任何帮助是高度赞赏。安排发出本地通知的本地通知

回答

0

是的。你对本地通知是正确的。您应该点击"view"以触发didReceiveLocalNotification:。如果您点击"Cancel",您不关心通知。如果你不在乎,为什么iOS应该关心? :-)

您正在安排通知。所以,你知道什么时候会被解雇。你不是吗?那为什么要等第一个通知被解雇呢?只需安排第二条通知和第一条通知。

一种解决方法:

Local and Push Notification Programming Guide 说,只有64本地通知每个应用程序允许的。所以,最初安排前64个通知。当应用下次打开时,请检查[UIApplication sharedApplication] scheduledLocalNotifications],并安排下一个(64个预定的本地通知)通知。

int scheduledNotifications = [UIApplication sharedApplication] scheduledLocalNotifications]; 
int n = 64 - scheduledNotifications; 
[self Schedule-next-n-notifications]; 

注意:我们不能保证这会完美地工作。如果应用程序在经过很长时间的差距后打开,例如1或2个月后,某些通知将不会在适当的时间安排。

+0

Yse Simon,你的逻辑是正确的,但我有一个365条记录的数据库,并且文档说我们不能一次安排这么多的通知。所以我认为最好一个一个的安排它 – Yogi

+0

@Yogi,这些通知会定期或不定期触发? – EmptyStack

+0

@Simon:不规则,否则重复通知是一个选项 – Yogi