Aktualisieren des iOS-Abzeichens ohne Push-Benachrichtigungen


85

Ich habe einige Aufgaben-Apps gesehen, die ihre App-Abzeichen um Mitternacht aktualisieren und immer die richtige Anzahl fälliger Aufgaben anzeigen. Sie tun dies ohne die Verwendung von Push-Benachrichtigungen - meine Frage lautet also: Wie machen sie das? Verwenden sie lokale Benachrichtigungen - wenn ja, werden diese beim Ausschalten des Geräts aufgerufen? Ich bin ein wenig verwirrt und würde mich über Beiträge freuen.

Antworten:


137

Versuche dies

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];

Um dies durch lokale Benachrichtigungen zu tun, müssen Sie den Wert in festlegen applicationIconBadgeNumber

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

1
Auf diese Weise ändern Sie die Ausweisnummer. Um dies jedoch zu tun, während sich die App im Hintergrund befindet oder wenn das Telefon schläft, müssen Sie möglicherweise lokale Benachrichtigungen oder geplante Aufgaben prüfen.
Jasarien

2
In iOS 8.0 und höher muss sich Ihre Anwendung mit - [UIApplication registerUserNotificationSettings:] für Benutzerbenachrichtigungen registrieren, bevor Sie das Symbol-Badge festlegen können.
Unom

17

Und für alle, die neuen und glänzenden Swift verwenden:

UIApplication.sharedApplication().applicationIconBadgeNumber = someNumber

Swift 3:

UIApplication.shared.applicationIconBadgeNumber = someNumber

2
Wenn Sie schnelle Antworten vorschlagen, ist es eine gute Praxis, anzugeben, welche Version Sie behandeln, da sie derzeit sehr dynamisch ist.
Juan Boero

ja, du hast recht ; In diesem Fall gibt es jedoch nichts in der Syntax, was sich möglicherweise ändern könnte (es ist eine einfache Zuweisung), also wahrscheinlich nicht benötigt :)
Jiri Trecak

3
Jiri, amüsanter Kommentar im Nachhinein ;-)
Tim

13

Seit iOS 4.0 können Sie lokale Benachrichtigungen auf allen Geräten auslösen, auf denen mindestens iOS 4.0 ausgeführt wird. Schauen Sie sich die UILocalNotificationKlasse an, damit Sie das Abzeichen um Mitternacht festlegen können, ohne dass Ihre App ausgeführt wird.


Ähm, das iPhone kann den Wecker nicht einmal starten, wenn es ausgeschaltet ist. Nein, das Abzeichen wird dann nicht aktualisiert. Wenn Sie es jedoch wieder einschalten, werden die Benachrichtigungen ausgelöst, mit denen das Abzeichen aktualisiert wird.
JustSid

Ok, das wollte ich wissen. Vielen Dank!
fabian789

7

Legen Sie UIApplicationdie applicationIconBadgeNumberEigenschaft in Ihrem Code fest, wenn die Anwendung ausgeführt wird:

[UIApplication sharedApplication].applicationIconBadgeNumber = someNumber;

0

Für Ziel C müssen Sie Folgendes verwenden:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber : anyNumber ];            

0

Swift 5

UIApplication.shared.applicationIconBadgeNumber = someNumber
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.