Die Standortbestimmung unter iOS: So fragen die Apps nach euren Geo-Daten
Viele Apps fragen euren Standort ab, um euch die Navigation zu erleichtern, Geschäfte in unmittelbare Nähe anzuzeigen oder um euren Freunden zu zeigen wo ihr euch gerade aufhaltet. Apple bietet den Entwicklern dabei unterschiedliche Methoden an, um euren Standort zu bestimmen. Doch wie funktioniert das ganze eigentlich im Detail und wie wirkten sich die ständigen Ortungen auf eure Akkulaufzeit aus?
Für die Ortung stellt Apple den Entwicklern das Core Location Framework (PDF-Referenz) zur Verfügung. Dieses Framework bestimmt aus den Funkzellendaten, WLAN-Datenbanken und dem eingebauten GPS von iPhone und iPad (jeweils wenn vorhanden) den aktuellen Standort des Gerätes.
Dabei gibt es zwei verschiedene Methoden um den Standort abzufragen.
Zum einen den sogenannten Standard Location Service, welcher auf allen iOS-Versionen zur Verfügung steht. Die Entwickler können je nach Wunsch der Ortungsgenauigkeit festlegen, auf welche Ortungshardware des iOS-Gerätes sie den Dienst anwenden wollen (GPS, Funkzellen, verortete Wi-Fi Hotspots) und in welchen Zyklen der Standort ggf. aktualisiert werden soll.
Dieser Service nimmt dabei jede kleinste Veränderung war und aktualisiert den Standort des Geräts sofort. Zum Einsatz kommt dies z.B. bei Navi-Apps. Exakt, aber: Der Standard Location Service ist durch die dauerhafte Abfrage sehr akkulastig. Standardmäßig ist diese „Dauerortung“ nur aktiv wenn ihr euch in der ausgewählten App befindet oder den „Orten“-Button drückt. Allerdings können die Entwickler Ihre Apps als „background location app“ einreichen. Dann kann diese App auch im geschlossenen Modus weiter orten.
Zum anderen gibt es dann noch den Significant Location-Change Service, welcher erst ab iOS 4.0 implementiert wurde und nur auf all jenen Geräten eingesetzt werden kann, die über eine Anbindung an das mobile Datennetz verfügen. Also iPhones oder iPads mit 3G. Dieser Service ist akkuschonender, da er die genauen Standort-Daten nur aktualisiert wenn sich das Gerät in einer Funkzelle bewegt bzw. diese wechselt.
Dabei kümmert sich iOS selbstständig um die Abfragezyklen. Wird eine Veränderung erkannt wird der Standort mit Hilfe der WLAN-Datenbanken und des GPS-Moduls so genau wie möglich bestimmt und an die nachfragenden Apps weitergeleitet. Darüber hinaus kann dieser Dienst auch bestimmte Apps aufwecken, wenn ein z.B. vorher definierter Ort erreicht wird. Benutzt wird diese Funktion unter anderem in der Erinnerungen-App.
Stichwort: Geofencing. iOS baut hier einen virtuellen Zaun auf und informiert die wartenden Apps beim Durchbrechen von diesem. Geofencing-Apps dürfen maximal 20 Orte angeben, deren Erreichen von iOS bestätigt wird. ifun.de berichtete.
Apps die also eine dauerhafte Ortung für den Betrieb benötigen, wie Navigations-Applikationen, nagen sehr stark an eurem Akku, da sie jede kleine Standortveränderung registrieren müssen. Apps, bei denen der exakte Standort nicht so wichtig ist, verlassen sich auf den Significant Location-Change Service und die Geofencing-Option des iOS-Betriebssystems und schonen somit den Akku.
Mit Blick auf den Akkuverbrauch macht es also keinen Unterschied, ob ihr eine oder mehre Apps mit Geofencing aktiviert habt. Den Akku könnt ihr nur schonen, wenn ihr die Ortungsdienste komplett deaktiviert.
Apple selbst beschreibt alle Optionen, alle Unterschiede und alle Einsatzmöglichkeiten der iOS-Ortungsdienste in dem Entwickler-PDF „Location Awareness Programming Guide“ (PDF-Link), vermittelt die Grundlegenden Konzepte in der iOS Developer Library und bietet unter der Überschrift „iOS 6: Grundlagen zu den Ortungsdiensten“ einen leicht verständlichen Einsteig für Endnutzer in das Thema an.