Я работаю над приложением для iPhone, которое должно напоминать пользователю о необходимости регулярно регистрироваться с помощью UILocalNotifications.Если они не регистрируются в течение нескольких часов, им могут напоминать пару раз, но я просто хочу показать последнее уведомление.
Теперь, если приложение открыто, я получаю обратный вызов didReceiveLocalNotification: (UILocalNotification *) уведомление, и я могу отслеживать, отображается ли уведомление.
Если приложение не запущено и пользователь нажимает кнопку -action-, я получаю обратный вызов на
- (BOOL) приложение: (UIApplication *) приложение didFinishLaunchingWithOptions: (NSDictionary *) launchOptions;
, поэтому я могу отклонить любые старые уведомления.Однако, если они нажимают «отменить», им приходится нажимать «отмена» в группе многоуровневых уведомлений, потому что, насколько я могу судить, я не получаю обратный вызов (как я могу, если приложение не запущено)и не похоже, чтобы при создании UILocalNotification был флаг или что-то еще, чтобы новые напоминания из приложения автоматически отклоняли другие.
Если приложение работает в фоновом режиме, но работает, это хуже - во-первых, яне получайте никакого обратного вызова, если пользователь нажимает кнопку «Отмена», поэтому у меня та же проблема - пользователь должен нажать «Отмена» несколько раз.Во-вторых, если они нажимают на действие, я получаю вызов ApplicationDidBecomeActive, но нет никакого различия между этим и тем, когда пользователь просто переключается назад и вперед;Я могу отклонить и перенести их здесь, но, похоже, это не работает идеально, иногда всплывают несколько, прежде чем их увольняют.
Есть предложения?Если бы существовал способ автоматического истечения срока действия уведомлений, это тоже было бы здорово.Я немного посмотрел в Интернете и не нашел большой помощи, но это похоже на большой упущение, так что, надеюсь, есть способ справиться с этим изящно.
Спасибо.