2014-06-14 17 views
8

Hallo, ich entwickle gerade eine App, die Push-Benachrichtigungen verwendet. Ich habe es erfolgreich mit Parse arbeiten lassen und meine Anwendung erhält die Benachrichtigungen. Meine Frage ist nicht, wie man das Abzeichen zurücksetzt, wenn ich die Anwendung öffne, weil ich bereits das mit diesem Code arbeiten ließ.iOS App-Abzeichen zurücksetzen

Dieser Code entfernt das Abzeichen aus der Anwendung, aber wenn ich eine andere Benachrichtigung sende, ist die Nummer jetzt 2 statt 1. Wie kann ich das beheben?

+0

Bitte den Code der Einstellung Abzeichen Wert aus der Benachrichtigung. –

+0

Ok, das ist parse aber heres der Code denke ich. –

+0

Code hinzugefügt in Frage –

Antwort

15

[UIApplication sharedApplication].applicationIconBadgeNumber = 0; Nicht hilft, Abzeichen in Parse zu löschen. Ich lese gerade die Parse Push notification Guide Documentation und die Dokumentation sagte.

badge: Der aktuelle Wert des Symbolabzeichens für iOS-Apps. Wenn Sie diesen Wert in der PF-Installation ändern, wird der Ausweiswert auf dem App-Symbol aktualisiert. Änderungen sollten auf dem Server gespeichert werden, damit sie für zukünftige Badge-Inkrement-Push-Benachrichtigungen verwendet werden.

badge: (nur iOS) Der in der oberen rechten Ecke des App-Symbols angezeigte Wert. Dies kann auf einen Wert gesetzt werden oder zu erhöhen, um durch den aktuellen Wert zu erhöhen 1.

Löschen des Badge Sie benötigen-Code wie zu tun:

- (void)applicationDidBecomeActive:(UIApplication *)application { 
    PFInstallation *currentInstallation = [PFInstallation currentInstallation]; 
    if (currentInstallation.badge != 0) { 
    currentInstallation.badge = 0; 
    [currentInstallation saveEventually]; 
    } 
    // ... 
} 
+0

Vielen Dank das hat funktioniert !! –

+0

Ich habe versucht, aber es hieß, dass ich 1 Minute warten muss. –

+0

Da ist es schon wieder Danke! –

4

Für alle, die nach wie um das badge in swift zurückzusetzen, hier ist die schnelle version @nitins antwort, die genau richtig war.

func applicationDidBecomeActive(application: UIApplication) { 
    var current: PFInstallation = PFInstallation.currentInstallation() 
    if (current.badge != 0) { 
     current.badge = 0 
     current.saveEventually() 
    } 
} 
Verwandte Themen