2016-08-30 2 views
0

Ich entwickle eine Alarm-App mit Swift. Während sich die App im Hintergrund befindet, möchte ich weiterhin lokale Benachrichtigungen (vom Benutzer geplant) wiederholen, wenn der Benutzer die erste Benachrichtigung ignoriert oder ignoriert, ohne etwas dagegen zu unternehmen. Wie kann ich das erreichen? Ich habe Snooze & Stop Aktionen auf Benachrichtigung und kann identifizieren, wenn der Benutzer eine dieser Maßnahmen ergreift. Jede Hilfe wird sehr geschätzt.Wie wiederhole ich die lokale Benachrichtigung, wenn der Benutzer den ersten Schritt ablehnt oder ignoriert?

Antwort

0

ich habe die Lösung heraus durch viele Artikel online lesen als gut diskutieren mit anderen Kollegen iOS-Entwickler und die einzige Lösung wäre, Wiederholung zu planen Benachrichtigungen nach einem Intervall von 30 Sekunden mit der Hoffnung, dass der Benutzer eventuell etwas dagegen unternehmen wird. Sobald der Benutzer auf irgendeine Aktion tippt, können wir den Identifizierer identifizieren und mit unserer Logik fortfahren. Ich hoffe, dass dies vielen Entwicklern hilft, eine Antwort auf ähnliche Fragen zu finden.

0

Sie können dies ausprobieren 1) Richten Sie eine eindeutige ID für Ihre lokale Benachrichtigungen 2), wenn die lokale Benachrichtigung ausgelöst wird, auf der Grundlage Ihrer Logik 3) verfolgen die Meldung ID, die Sie 4 gefeuert) In Ihrer ‚Anwendung: handleActionWithIdentifier: forLocalNotification: completionHandler‘ Prüfung der ID der Mitteilung 5) Auf diese Weise kann die Benachrichtigung entlassen wurde und daher könnte man es auslösen es später noch einmal

+0

Aber mit dieser werde ich Identifier Informationen nur erhalten, wenn Benutzer Maßnahmen bei der Benachrichtigung ergreift. Wenn der Benutzer keine Aktion antippt, bekomme ich hier keine Informationen. –

+0

Richtig, Apple bietet keinen Rückruf, wenn die Benachrichtigung abgewiesen wird, macht Apple dies absichtlich schwer, weil der Benutzer ausdrücklich angegeben hat, dass sie nicht mit Ihrer Benachrichtigung interagieren möchten.So wäre der Hack, einen Check zu setzen, um zu identifizieren, welche Benachrichtigung wurden gefeuert, wurden aber vom Nutzer abgelehnt, sobald Ihre App in den Vordergrund tritt oder erneut gestartet wird. –

+0

Ich muss weiterhin Benachrichtigungen auslösen, bevor der Benutzer eine Aktion ausführt oder die App in den Vordergrund tritt, da sonst die Alarm-App ihre Funktionalität verliert. Kannst du irgendeine andere Logik vorschlagen? –

Verwandte Themen