2016-08-02 7 views
6

Ich versuche eine Benachrichtigung lokal zu planen, da ich noch nicht die notwendige Struktur im Backend habe. Die Idee ist, dass nach einer X-Zeitspanne bestimmte Bedingungen validiert werden; und falls erfüllt, wird eine reguläre lokale Benachrichtigung ausgelöst.Ist es möglich, eine SILENT lokale Benachrichtigung in iOS zu planen?

Dies könnte leicht mit einem Timer erreicht werden, aber einige dieser Zeiträume sind lang genug (1 Stunde, 24 Stunden), dass dies nicht funktioniert.

So denke ich in den lokalen Benachrichtigungen. Ich könnte einen mit einem Feuer von + 24 Stunden planen. Die Sache ist, dass ich brauche, dass es still ist, um die Bedingungen zu bestätigen.

Von der configuring a local notification Abschnitt here scheint es, dass nur Remote-Benachrichtigungen können still sein, aber es sagt nicht wirklich, es kann nicht getan werden.

Außerdem habe ich festgestellt, dass es möglich ist, eine lokale Benachrichtigung mit nichts als der BadgeNummer auszulösen, und es wird das Badge ändern. Die Callbacks in meinem AppDelegate werden jedoch nie aufgerufen.

Ich habe einige Leute gesehen, die sagen, dass es nicht getan werden kann, aber keinen wirklich harten offiziellen Beweis gefunden haben, der es ausspricht. Hat es jemand geschafft? Oder wissen Sie, dass dies tatsächlich unmöglich ist? Jeder Rat wird eine große Hilfe sein, vielen Dank im Voraus!

+0

Sie können keine "stille" lokale Benachrichtigung haben. Der Hintergrund-Abruf-Modus kann nützlich sein – Paulw11

+0

@ Paulw11 Ja, aber es funktioniert nur für Remote-Benachrichtigungen, oder? Gibt es keine Möglichkeit, die App ohne Remote-Benachrichtigung zu aktivieren? –

+2

Hintergrund Abrufmodus hat nichts mit Benachrichtigungen zu tun. Es ist ein Hintergrundmodus, in dem Sie festlegen können, wo iOS Ihre App regelmäßig aktiviert. Lesen Sie den Abschnitt "Hintergrundmodi" im Programmierhandbuch für iOS-Anwendungen. – Paulw11

Antwort

3

Ich habe versucht und hatte die gleiche Erfahrung wie du - die Rückrufe werden nie aufgerufen, wenn meine App nicht im Vordergrund ist. Das ist Absicht. Die Apple-Dokumentation besagt, dass der Rückruf nur aufgerufen, wenn der App im Vordergrund userNotificationCenter:willPresentNotification:withCompletionHandler:https://developer.apple.com/reference/usernotifications/unusernotificationcenterdelegate/1649518-usernotificationcenter?language=objc

Die einzige Rückrufmethode zum Empfang von Benachrichtigungen, wenn die App nicht in dem Vordergrund didReceiveRemoteNotification ist aber leider ist es nur für Push-Benachrichtigungen (silent oder andernfalls). https://developer.apple.com/reference/usernotifications/unusernotificationcenterdelegate/1649518-usernotificationcenter?language=objc

+0

Sie meinen also, dass die Callbacks aufgerufen werden, wenn Ihre App im Vordergrund steht? – Jonny

+1

Es ist 2 Jahre her, dass ich an dieser App gearbeitet habe, aber zu der Zeit, ja, es funktionierte, als die App im Vordergrund stand. Neuere Versionen von iOS könnten das kaputt gemacht haben. – stackunderflows

Verwandte Themen