一部のプッシュ通知が送信されるiOSアプリケーションがあります。私の問題は、メッセージ/通知がタップされた後、iOSの通知センターにとどまることです。次回アプリケーションが開いたときに、通知センターでアプリケーションの通知を削除するにはどうすればよいですか?
setApplicationIconBadgeNumber
通知を消去するために人々がゼロ値を要求している投稿に出くわしました。それは私には非常に奇妙に思われるので、おそらく別の解決策が存在すると思いますか?
編集1:
通知の消去に問題があります。ここに私のコードを参照してください:
- (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
が実行されたことがわかります。しかし、それでも通知は通知センターでハングします。どうして?
let center = UNUserNotificationCenter.current() center.removeAllDeliveredNotifications() // To remove all delivered notifications
stackoverflow.com/a/40397907/1155650