In UILocalNotification verwenden wir NSCalendarUnitMinute
wie Wiederholung ..... aber ich kann in iOS 10 UserNotification doc nicht finden ... Wie kann ich NSCalendarUnitMinute
wie Wiederholung in iOS 10 UserNotification
verwenden?
Hier ist der Code, der die lokale Benachrichtigung um 20:30 Uhr einplant und nach jeder Minute wiederholt.
%Vor%Obwohl es scheint, dass das alte Benachrichtigungs-Framework diesbezüglich eine bessere Unterstützung hatte, ist es erst, bis wir erkennen, dass das neue besser ist!
Ich hatte ähnliche Probleme, und unten ist ein Beispiel dafür, wie die alten Benachrichtigungen mit den neuen Hand in Hand gehen können.
Um auf einer sicheren Seite zu sein, ist dies Swift2.3
.
Obwohl dies nicht erschöpfend ist, habe ich alles von einer Minute bis zu einem Jahr abgedeckt.
Und um genauer zu sein,
%Vor%Da dies für mich funktioniert, sollte es wahrscheinlich für den Rest von euch sein. Bitte versuchen Sie und lassen Sie mich wissen, wenn es ein Problem gibt.
Und für die genaue Lösung dieser Frage rate ich folgendes:
(Wahrscheinlich hat Apple an ein solches Szenario nicht gedacht, aber es kann behandelt werden)
NSCalendarUnitMinute
-Äquivalent. Verwenden Sie eine UNCalendarNotificationTrigger
mit DateComponents
anstelle von NSCalendar
:
Sie haben das Datum mit einer Instanz DateComponents
eingerichtet und angegeben, ob die Benachrichtigung mit dem Parameter repeats
des Initiators UNCalendarNotificationTrigger
wiederholt werden soll.
UNCalendarNotificationTrigger-Dokumentation
Nur ein Hinweis darauf, dass es in den Apple Docs einen Tippfehler gibt (Stand 6/13). Wenn Sie NSDateComponents
anstelle von DateComponents
verwenden, müssen Sie Ihre date as DateComponents
explizit in den Parameter dateMatching
umwandeln.
Als Antwort auf Ihren Kommentar glaube ich nicht, dass das von Ihnen gewünschte Verhalten (Änderung der Häufigkeit Ihrer wiederholten Benachrichtigung) von UNCalendarNotificationTrigger
unterstützt wird.
Bear mit mir das ist mein erster Beitrag.
Wir brauchten das Wiederholungsintervall von 1 Minute für unsere App in ios 10 und verwendeten als Workaround eine Kombination aus altem und neuem Framework.
Planen Sie die wiederholten lokalen Benachrichtigungen mit dem alten:
UILocalNotification * ln = [[UILocalNotification alloc] init];
...
ln.repeatInterval = kCFCalendarUnitMinute;
ln.userInfo = @ {@ "alarmID": ...}
...
[[UIApplication sharedApplication] scheduleLocalNotification: ln];
Dies erstellt und plant die üblichen wiederkehrenden LNs, die als UNNotification mit einem UNLegacyNotificationTrigger angezeigt werden
Ich habe eine alarmID verwendet, um altes und neues Framework zu verbinden.
Versuchen Sie:
%Vor%Mit den neuen Framework UNUserNotificationCenter-Methoden: willPresentNotifikation: didReceiveNotificationResponse:
Hoffe, das hilft
Tags und Links objective-c ios swift ios10 unnotificationrequest