İOS rozetini push bildirimleri olmadan güncelleme


86

Gece yarısı uygulama rozetlerini güncelleyen ve her zaman doğru görev sayısını gösteren birkaç yapılacak uygulama gördüm. Onlar bunu yapmadan itin Bildirimleri kullanımı - benim sorum bu yüzden: onlar bunu nasıl? Yerel bildirimleri kullanıyorlar mı - öyleyse, bunlar cihaz kapatıldığında aranıyor mu? Biraz kafam karıştı ve bazı katkıları takdir ediyorum

Yanıtlar:


137

Bunu dene

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];

Bunu yerel bildirimler yoluyla yapmak için değeri ayarlamanız gerekir. applicationIconBadgeNumber

UILocalNotification *localNotification = [[UILocalNotification alloc] init];
localNotification.applicationIconBadgeNumber = 1;// set here the value of badge

1
Rozet numarasını bu şekilde değiştirirsiniz - ancak bunu uygulama arka plandayken veya telefon uykudayken yapmak için yerel bildirimlere veya planlanmış görevlere bakmanız gerekebilir.
Jasarien

2
İOS 8.0 ve sonraki sürümlerde, uygulamanız simge rozetini ayarlayabilmek için - [UIApplication registerUserNotificationSettings:] kullanarak kullanıcı bildirimlerine kaydolmalıdır.
unom

17

Ve yeni ve parlak Swift kullanan herkes için:

UIApplication.sharedApplication().applicationIconBadgeNumber = someNumber

Swift 3:

UIApplication.shared.applicationIconBadgeNumber = someNumber

2
Hızlı cevaplar önerirken, şu anda çok dinamik olduğu için hangi versiyonu ele aldığınızı dahil etmek iyi bir uygulamadır.
Juan Boero

Evet haklısın ; Ancak bu durumda, sözdiziminde muhtemelen değişebilecek hiçbir şey yoktur (bu basit bir atamadır), bu yüzden muhtemelen gerekli değildir :)
Jiri Trecak

3
Jiri, geçmişe baktığımızda eğlenceli yorum ;-)
Tim

13

İOS 4.0'dan beri, en az iOS 4.0 çalıştıran tüm cihazlarda yerel bildirimleri tetikleyebilirsiniz. UILocalNotificationSınıfa bakın , rozeti gece yarısı uygulamanızı çalıştırmadan ayarlamanıza olanak tanır.


Uhm, iPhone kapatıldığında çalar saati bile başlatamaz, bu yüzden hayır, o zaman rozet güncellenmez. Ancak tekrar açtığınızda, rozeti güncelleyecek bildirimleri ateşleyecektir.
JustSid

Tamam, bilmek istediğim buydu. Teşekkürler!
fabian789

7

Uygulama çalışırken kodunuzda UIApplication'ın applicationIconBadgeNumberözelliğini ayarlayın :

[UIApplication sharedApplication].applicationIconBadgeNumber = someNumber;

0

Amaç C için şunları kullanmanız gerekir:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber : anyNumber ];            

0

Swift 5

UIApplication.shared.applicationIconBadgeNumber = someNumber
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.