2016-09-20 1 views
2

In der Push-Benachrichtigungs-API vor iOS 10 konnte ich problemlos einen Hintergrundauftrag ausführen, der durch eine Push-Benachrichtigung ausgelöst wurde. Gerade erhalten - der Benutzer musste überhaupt nicht mit ihm interagieren. Nun scheint es in Ordnung zu sein, damit meine gleichen Hintergrundjobs mit diesem neuen Framework ausgeführt werden, muss der Benutzer irgendwie mit der Benachrichtigung interagieren. Gibt es eine Möglichkeit mit diesem neuen Framework, nur einen Hintergrundjob auszuführen, wenn ein bestimmter Push nur vom Clientgerät empfangen wird, aber nicht vom Benutzer interagiert wird? Kann ich eine Methode im Benutzerinformationswörterbuch des Push übergeben?Hintergrund-Abruf-Ausführungszeit mit iOS 10 UserNotifications ohne Benutzerinteraktion

+0

Dies ist eine sehr berechtigte Frage - ich bin TRYI ng, das gleiche jetzt zu tun und fand bis jetzt keine Lösung! –

Antwort

3

Ich fand eine Lösung, die nicht direkt mit dem UserNotifications Framework funktioniert, aber immer noch Hintergrund-Jobs in iOS 10 über Push-Benachrichtigungen ausführen kann.

fand ich, dass die UIApplicationDelegate von verwenden, können Sie in der Tat Hintergrundjobs über Push-Benachrichtigungen über die gleiche Funktion in früheren iOS-Versionen verwendet ausführen:

- (void)application:(UIApplication *)application 
didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))handler{ 

    //execute the background job here 

} 

Alles was Sie tun müssen, ist die content-available Flagge auf der hinzufügen schieben, bevor sie das Senden und setzen es gleich 1

Wie so für js:

data: { 
     alert: "Some alert", 
     type: someType, 
     "content-available": 1, 
     id: someId 
     } 
Verwandte Themen