Swift- Push Bildirim Rozeti numarası kaldırılsın mı?


91

Simge rozetini hızlı bir şekilde kaldırmaya çalışıyorum, ancak PFInstallation artık çalışmıyor. Bunu nasıl yaparım?

Yanıtlar:


240

Uygulama rozeti simgesini 0'a ayarlayarak "kaldırabilirsiniz":

Swift <3.0

UIApplication.sharedApplication().applicationIconBadgeNumber = 0

Swift 3.0+

UIApplication.shared.applicationIconBadgeNumber = 0

Bu soru, onu ne zaman kullanabileceğinizi gösterir: iOS'ta push bildirim rozeti sayısı nasıl temizlenir?


4
Öyleyse, uygulama her başladığında sıfırlamak standart bir uygulama mı?
Qian Chen

4
@ElgsQianChen gerçekten uygulamanızın ne yapması gerektiğine / kitleniz için en iyi olana bağlıdır. Bu soru muhtemelen UX SO'da daha iyi sunuluyor.
Oxcug

1
İkincisi. Belki emin aslında bildirimin nedeni ile ele kullanıcı yapmak istiyorum (örn vermedi temizlemeden önce okunmamış bir mesajı okuyun). Farklı uygulamalar bununla farklı şekilde ilgilenir. Bazıları başlangıçta net, bazıları uygulama içindeki kullanıcı eylemini netleştiriyor.
Nicolas Miari

4
UIApplication.shared.applicationIconBadgeNumber = 0Swift 3 ile
user3766930

Bunun mantıklı olduğunu düşünüyorum yani. Kullanıcı uygulamadan çıkış yaptığında.
wrtsprt

18

Swift 4.2

AppDelegate'e şu kodu girin:

    func applicationDidBecomeActive(_ application: UIApplication) {
        application.applicationIconBadgeNumber = 0
    }

9

Swift 5

AppDelegate'de didFinishLaunchingWithOptions

UIApplication.shared.applicationIconBadgeNumber = 0

1

Swift 5

Bunu AppDelegate didFinishLaunchingWithOptions'a koyabilirsiniz, ancak uygulama etkin değilse ve etkin duruma geçtiyse bu rozeti temizlemeyecektir.

Rozeti önceki durumdan bağımsız olarak temizlemek isterseniz, bunu AppDelegate yerine SceneDelegate'e koymanız gerekir.

func sceneDidBecomeActive(_ scene: UIScene) {
    UIApplication.shared.applicationIconBadgeNumber = 0
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.