CoreMotion-Updates im Hintergrund

Mit dem M7-Chip in den neuesten iOS-Geräten kann man sich programmgesteuert benachrichtigen lassen, wenn der Benutzer mit CMMotionActivityManager vom Stand zum Laufen, Gehen usw. wechselt. Stava und Runkeeper haben dies beide verwendetGPS-Abruf automatisch anhalten (Schalten Sie die GPS-Antenne aus), wenn festgestellt wird, dass sich der Benutzer nicht über das M7 bewegt, und aktivieren Sie die GPS-Aktualisierungen wieder, wenn Sie sich wieder bewegen. Dies ist möglich, während sich die App im Hintergrund befindet, was hier der Schlüssel ist.

Das Problem, auf das ich beim Duplizieren dieser Funktion stoße, besteht darin, dass ich keine Aktivitätsaktualisierungen mehr erhalte, wenn ich GPS-Aktualisierungen deaktiviere, während sich meine App im Hintergrund befindet. Außerdem kann ich nicht mehr erkennen, wann sich der Benutzer über das M7 erneut bewegt, um das GPS wieder einzuschalten.

Wenn ich das GPS die ganze Zeit laufen lasse, erhalte ich weiterhin Bewegungsaktualisierungen von Core Motion, solange sich die App im Hintergrund befindet.

Ich nehme an, sie spielen kein weißes Rauschen oder einen anderen billigen Trick, um aktiv zu bleiben. Wie haben sie das gemacht?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage