У меня есть приложение для 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
запущен. Но все равно уведомление висит в Центре уведомлений. Почему?