2011-01-24 6 views
2

Вчера я добавил локальные уведомления в мое приложение (включая повторяющиеся), а затем довольно часто, когда я запускаю приложение, оно выводит уведомление. Я прокомментировал весь код, ссылающийся на локальные уведомления, и он все еще делает это. Я также удалил приложение из симулятора, а затем снова установил его, и он все еще делает это. Какие-либо предложения?Локальные уведомления не исчезнут

РЕДАКТИРОВАТЬ: На самом деле, по какой-то причине он продолжает стрелять извещения раз в минуту.

+0

показать код, который используется для создания уведомления. Похоже, вы используете NSTimer. – WrightsCS

+0

Для создания уведомления не используется какой-либо код. Все прокомментировано. – Andrew

ответ

0

Если вы не добавили [[NSNotificationCenter defaultCenter] removeObserver:self] в любой контроллер, который потенциально получает уведомление, а затем вы удаляете этот контроллер просмотра из стека навигации, поскольку он сохраняется центром уведомлений, он остается в памяти и будет продолжать ответьте, когда поступит уведомление. Я понимаю, вы сказали, что вы удалили код postNotification, но вы, должно быть, пропустили какой-то код где-то, так как это не может произойти автоматически, без чего-либо, вызывающего уведомление по почте. Какое сообщение вы получаете? Появляется ли это предупреждение? Имеет ли пользовательское сообщение или системное сообщение? Найдите место, где отображается это предупреждение, и убедитесь, что вы удалили этот контроллер просмотра из центра уведомлений. Если это системное сообщение, выясните, какой контроллер просмотра настроен для получения уведомлений для этого системного сообщения, и убедитесь, что * он получает должным образом удаленный объект в качестве наблюдателя из центра уведомлений.

С уважением.

+0

Это 'NSNotificationCenter' Он говорит о' UILocalNotification'. – Sufian

2

Если вы имеете в виду UILocalNotification, а затем добавить эту строку в приложение и запустить один раз

[[UIApplication sharedApplication] cancelAllLocalNotifications]; 

Это будет отменить все локальные уведомления приложение когда-либо добавлены, в том числе в предыдущих тиражей. Связанный, вы можете проверить свойство scheduledLocalNotifications UIApplication.

Смежные вопросы