У меня есть приложение iOS, на которое отправляются некоторые Push-уведомления. Моя проблема в том, что сообщения/уведомления остаются в Центре уведомлений в iOS после нажатия на них. Как я могу удалить уведомление для моего приложения в Центре уведомлений при следующем открытии приложения?
Я наткнулся на сообщения, где люди вызывают setApplicationIconBadgeNumber
на нулевое значение, чтобы убрать уведомления. Мне это кажется очень странным, поэтому я думаю, что возможно существует другое решение?
EDIT1:
У меня возникли некоторые проблемы с очисткой уведомлений. Пожалуйста, посмотрите мой код здесь:
- (void) clearNotifications {
[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0];
[[UIApplication sharedApplication] cancelAllLocalNotifications];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if (launchOptions != nil)
{
NSDictionary* dictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if (dictionary != nil)
{
NSLog(@"Launched from push notification: %@", dictionary);
[self clearNotifications];
}
}
return YES;
}
- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo
{
NSLog(@"Received notification: %@", userInfo);
[self clearNotifications];
}
Я запускаю приложение через Xcode. Когда приложение сворачивается и я запускаю приложение, используя уведомление в Центре уведомлений, я вижу в журнале, что didReceiveRemoteNotification
вызывается и, используя точки останова, я вижу, что clearNotifications
выполняется. Но уведомление по-прежнему висит в Центре уведомлений. Почему?