Swift- Hapus nomor Badge Pemberitahuan Push?


91

Saya mencoba menghapus lencana ikon dengan cepat, tetapi PFInstallation sepertinya tidak berfungsi lagi. Bagaimana saya melakukan ini?

Jawaban:


240

Anda dapat "menghapus" ikon lencana aplikasi dengan menyetelnya ke 0:

Swift <3.0

UIApplication.sharedApplication().applicationIconBadgeNumber = 0

Swift 3.0+

UIApplication.shared.applicationIconBadgeNumber = 0

Pertanyaan ini menunjukkan kapan Anda dapat menggunakannya: Bagaimana cara menghapus jumlah lencana pemberitahuan push di iOS?


4
Jadi, apakah praktik standar untuk menyetel ulang ke 0 setiap kali aplikasi dimulai?
Qian Chen

4
@ElgsQianChen sangat bergantung pada apa yang seharusnya dilakukan aplikasi Anda / apa yang terbaik untuk audiens Anda. Pertanyaan itu mungkin lebih baik disajikan di UX SO.
Oxcug

1
Kedua itu. Mungkin Anda ingin memastikan pengguna benar-benar ditangani dengan penyebab pemberitahuan (misalnya, tidak membaca pesan yang belum dibaca) sebelum kliring itu. Aplikasi yang berbeda menangani ini secara berbeda. Beberapa jelas saat peluncuran, beberapa jelas tentang tindakan pengguna dalam aplikasi.
Nicolas Miari

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

Saya pikir ini masuk akal yaitu. saat pengguna keluar dari aplikasi.
wrtsprt

18

Swift 4.2.0

Di AppDelegate, masukkan saja kode ini:

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

9

Cepat 5

Di AppDelegate didFinishLaunchingWithOptions

UIApplication.shared.applicationIconBadgeNumber = 0

1

Cepat 5

Meskipun Anda dapat meletakkan ini di AppDelegate didFinishLaunchingWithOptions, ini tidak akan menghapus lencana jika aplikasi tidak aktif dan telah pindah ke aktif.

Jika Anda ingin menghapus lencana terlepas dari status sebelumnya, Anda harus meletakkannya di SceneDelegate alih-alih AppDelegate.

func sceneDidBecomeActive(_ scene: UIScene) {
    UIApplication.shared.applicationIconBadgeNumber = 0
}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.