2017-04-13 5 views
1

Zuerst möchte ich sagen, dass ich die Antwort auf meine Frage ziemlich oft gesucht habe, aber die einzigen Dinge, die ich bisher gefunden habe, sind Antworten auf ältere Versionen von Swift oder Antworten, die meine Frage nicht spezifisch beantworten.Mehrere Benachrichtigungen in Xcode, Swift 3

Hintergrundinfo:
Ich versuche, eine App zu entwickeln, die Sie in einem festgelegten Intervall erinnern kann. Jetzt funktioniert das, da du nur 1 Erinnerung gesetzt hast. Wenn ich jedoch das Intervall auf 20 Sekunden einstelle, starte die App, setze 2 Benachrichtigungen und schließe die App, nur die zweite Benachrichtigung wird in 20 Sekunden angezeigt. Die erste Benachrichtigung wird von der zweiten überschrieben.

Frage: Wie kann ich sicherstellen, dass alle meine Benachrichtigungen, die vom Benutzer angefordert werden, tatsächlich gesendet werden und keine Benachrichtigung die vorherige überschreibt?

-Code für die Benachrichtigung:

let tijd = 20 //20 is just for the test, normally there is more code to it 

    // Notification 
    let content = UNMutableNotificationContent() 
    content.title = "Notification title"//title 
    content.body = "Notification body" //body 
    content.badge = 1 
    content.sound = UNNotificationSound.default() 

    // Timer 
    let trigger = UNTimeIntervalNotificationTrigger(timeInterval: TimeInterval(tijd), repeats: false) 
    let request = UNNotificationRequest(identifier: "timerDone", content: content, trigger: trigger) 

    UNUserNotificationCenter.current().add(request, withCompletionHandler: nil) 

Dieser Code wird in einer UITableView Zelle gespeichert. My storyboard

+0

Wie stellen Sie beide Benachrichtigungen ein? Zeigen Sie diesen Code. In dem bereitgestellten Code wird dem Center nur eine einzige Benachrichtigung hinzugefügt. –

+0

Oh, richtig, dann denke ich, dass das das Problem sein könnte. Was ich jetzt habe ist: Ich tippe auf eine Zelle und der zweite VC erscheint mit dem bereitgestellten Code für jede einzelne Zelle. Sollte ich etwas daran ändern? Wenn ja, was? @RajanMaheshwari –

Antwort

0

Okay, ich habe es herausgefunden!
https://stackoverflow.com/a/41892828/7385440
Diese Antwort führte zu dem gleichen Problem, das ich hatte. Ich musste die Kennung für jede Benachrichtigung unterschiedlich machen! Also mein Code ist jetzt:

let request = UNNotificationRequest(identifier: bezigheid, content: content, trigger: trigger) 

und bezigheid etwas ist, das in jeder einzelnen Zelle unterscheidet. Getestet und jetzt bekomme ich 2 verschiedene Benachrichtigungen!