Да. Вы правы насчет локальных уведомлений. Вы должны нажать "view"
, чтобы вызвать didReceiveLocalNotification:
. Если вы нажмете "Cancel"
, вы не будете беспокоиться об уведомлении. Если вам все равно, почему iOS должно заботиться? : -)
Вы планируете уведомление. Итак, вы знаете, когда он будет уволен. Не так ли? Тогда зачем ждать первого уведомления? Просто запланируйте второе уведомление вместе с первым уведомлением.
Обходной путь:
Руководство по программированию локальных и push-уведомлений
говорит, что для каждого приложения разрешено только 64 локальных уведомления. Итак, запланируйте первые 64 уведомления изначально. А когда приложение откроется в следующий раз, отметьте [UIApplication sharedApplication] scheduledLocalNotifications]
и запланируйте следующие (64 - запланированные локальные уведомления) уведомления.
int scheduledNotifications = [UIApplication sharedApplication] scheduledLocalNotifications];
int n = 64 - scheduledNotifications;
[self Schedule-next-n-notifications];
Примечание. Мы не можем гарантировать, что это будет работать идеально. В случае, если приложение открывается после очень длительного перерыва, например, через 1 или 2 месяца, некоторые уведомления не были бы запланированы в надлежащее время.