отменить все локальные уведомления в приложении WillTerminate? - PullRequest
3 голосов
/ 23 марта 2011

Я хочу отменитьAllLocalNotifications и установить значениеApplicationIconBadgeNumber в 0, когда мое приложение будет закрыто (либо операционной системой, либо двойным нажатием кнопки «Домой» и уничтожением приложения).Я просто добавил эти два вызова в мой основной код делегата приложения:

-(void)applicationWillTerminate:(UIApplication *)application 
{
        [application cancelAllLocalNotifications];
        [application setApplicationIconBadgeNumber:0];
}

Существующие уведомления все еще работают, а номер значка остается установленным?

Ответы [ 2 ]

1 голос
/ 23 марта 2011

applicationWillTerminate: не вызывается операционной системой, когда она убивает ваше приложение.ОС просто убивает процесс, не уведомляя об этом ваше приложение.На данный момент не существует документированного способа выполнения кода.

0 голосов
/ 30 марта 2011

Вместо этого следует использовать applicationWillResignActive: .

Начиная с iOS 4.0 applicationWillTerminate не вызывается для приложений, когда они уничтожаются в фоновом режиме.Приложения помещаются в фоновый режим, когда вы нажимаете кнопку «Домой» сейчас или иным образом переключаете приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...