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 setApplicationIconBadgeNumber
bildirimleri 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 notifications
stackoverflow.com/a/40397907/1155650