Ich verwende parse.com als meine APNs-Provider für einen Test-App Ich baue. Ich habe bestätigt, dass Push-Benachrichtigungen funktionieren, da ich in der Lage war, Warnungen zu erhalten, wenn die App im Vordergrund ist. Außerdem habe ich den remote-notification
Wert für die UIBackgroundModes
Schlüssel angegeben in meinem plist.Apple-Push-Benachrichtigung in Hintergrund Ausgabe
In meiner app, bin zu will ich einen Benutzer aktuelle Standortdaten zurück zu meiner App-spezifischen parse.com Datenbank zu senden, wenn eine Push-Benachrichtigung empfangen wird. Ich interessiere mich nicht wirklich für die Benachrichtigungs-Nutzlast selbst, da die Benachrichtigung nur ein Mittel ist, um ein kleines Stück Information zu erhalten. Die App sammelt ständig Daten im Hintergrund und speichert sie in einem persistenten NSDictionary
.
Ich habe den Standort zu senden Code in der application:didReceiveRemoteNotification:
Methode setzen. Wenn meine App im Vordergrund ist, wenn ich eine Benachrichtigung erhalte, wird die Methode aufgerufen. Wenn sich meine App im Hintergrund befindet, wird die Methode nicht aufgerufen.
- Mache ich etwas falsch?
- Ist es überhaupt möglich, eine API-Anforderung in
application:didReceiveRemoteNotification:
auszuführen, wenn die App im Hintergrund ist und der Benutzer mit der Anmeldung nicht interagierte **
EDIT: Das Problem, auch wenn weiterhin besteht I Verwenden Sie application:didReceiveRemoteNotification:fetchCompletionHandler:
.
Hinweis: Meine NSDictionary voller Standortdaten ist nicht leer. Außerdem versuche ich nicht, irgendwelche UI-Manipulationen im Hintergrund durchzuführen - ich versuche nur, eine API-Anfrage auszuführen.
Das hat funktioniert! Ich hatte das 'content-available'-Flag im AppDelegate aktiviert, aber ich habe dieses Flag in meinen JSON-APNs nicht gedrückt. Danke, Alex! Das behebt das Problem. – ArtSabintsev
Hah, seltsam. Es hat nur einmal funktioniert. Werde hineinschauen und zu dir zurückgehen – ArtSabintsev
Nevermind, hat es funktioniert! Es war nur eine Verzögerung beim Empfangen der Daten von Parse. – ArtSabintsev