2017-05-12 378 views
2

我們如何務實地刪除從通知中心爲我的應用程序發送的任何待處理的遠程通知。我想在應用程序啓動時清除它們。以編程方式從通知中心刪除遠程通知

我嘗試過[[UIApplication sharedApplication] cancelAllLocalNotifications]; API,但它沒有幫助。

PS:這個問題是特定於iOS 10的,舊線程不是這個的重複。

+0

的[取下通知中心單個遠程通知]可能的複製(http://stackoverflow.com/questions/9925854/remove -single-remote-notification-notification-center) –

+0

@SargisGevorgyan由於共享鏈接提到非iOS 10解決方案,因此不能將其標記爲重複。 iOS 10以不同的方式處理它! – Abhinav

回答

4

終於...

這一個就像魅力!

[[UNUserNotificationCenter currentNotificationCenter] removeAllDeliveredNotifications]; 
0

您可以通過任何你想要使用的代碼,這些簡單的線條

[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 1]; 
[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0]; 
[[UIApplication sharedApplication] cancelAllLocalNotifications]; 

使用清除通知中心的所有通知。當我用戶按下登出時,我已經使用了。 可以在

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

方法使用的應用程序打開

+0

我已經試過這個,它沒有幫助。我在這裏談論遠程通知。可能是我應該編輯我的問題。 – Abhinav

+0

行[UIApplication sharedApplication] .applicationIconBadgeNumber = 0; 也會清除推送通知 – Himanth

+0

那不是真的! – Abhinav

0

AFAIK後清除的通知,您應該通過使用背景模式,遠程通知,然後通過發出一個本地通知迴應這些通知的做到這一點。 您可以刪除本地通知,但不能刪除遠程通知。

+0

謝謝你的迴應。您能否指出我的文檔確認無法從通知中心刪除遠程通知?我在網上找到多個版本。 – Abhinav

+0

找不到官方文檔,但你現在可以看看這裏:http://stackoverflow.com/questions/24231120/remove-remote-notification-from-notification-center –

+0

它的可能性。看看我的答案。 – Abhinav

0

正在重置應用徽章數量也刪除所有從通知中心的通知(本地&遠程)。

目標C

[UIApplication sharedApplication].applicationIconBadgeNumber = 0; 

夫特

UIApplication.shared.applicationIconBadgeNumber = 0 
+0

有沒有辦法重置徽章計數而不刪除所有通知? – fabb