Bazı Push Bildirimlerinin gönderildiği bir iOS uygulamam var. Benim sorunum, mesajların / bildirimlerin, dokunulduktan sonra iOS'ta Bildirim Merkezi'nde kalması. Uygulama bir sonraki açışında Bildirim Merkezi'nde başvurum için bir bildirimi nasıl kaldırabilirim?
İnsanların setApplicationIconBadgeNumberbildirimleri temizlemek için sıfır değeri aradıkları gönderilere rastladım . Bu bana çok garip geliyor, bu yüzden başka bir çözümün var olabileceğine inanıyorum.
Edit1:
Bildirimleri temizlemede bazı sorunlar yaşıyorum. Lütfen koduma buradan bakın:
- (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];
}
Uygulamayı Xcode üzerinden çalıştırıyorum. Uygulama küçültüldüğünde ve Bildirim Merkezi'ndeki bildirimi kullanarak Uygulamayı başlattığımda, günlükte didReceiveRemoteNotificationçağrıldığını ve görebildiğim kesme noktaları kullandığını, çalıştığını görebiliyorum clearNotifications. Ancak bildirim yine de Bildirim Merkezi'nde asılı kalıyor. Neden?
let center = UNUserNotificationCenter.current() center.removeAllDeliveredNotifications() // To remove all delivered notificationsstackoverflow.com/a/40397907/1155650