2010-12-09 14 views
23

Ich habe mich nur gefragt, ob es möglich war, eine iOS-App zu erstellen, die Ihren Standort über GPS verfolgen würde, während es im Hintergrund war.iOS Multi-Tasking Track GPS-Standort

Ich habe dies mit der integrierten App "Maps" versucht, aber ohne Erfolg.

Wenn dies möglich ist, wäre es großartig, wenn Sie mich auf einige Beispielcode, Dokumentationen oder Tutorials verweisen könnten!

(wenn dies ein Duplikat ist, lassen Sie es mich wissen, und ich werde es entfernen)

Antwort

43

Dies ist möglich - siehe this document für im allgemeinen und this section of the Location Awareness Programming Guide for "Getting Location Events in the Background" Multitasking. Natürlich, all diese reden über all die verschiedenen Möglichkeiten, wie ein iOS-Gerät Ihren Standort (Mobilfunk-Triangulation, Skyhook-Stil Wi-Fi-Netzwerk-Beobachtung und GPS), nicht exklusive GPS bekommen kann.

Kurz gesagt, beim Lesen dieser Dokumente: Fügen Sie den UIBackgroundModes-Schlüssel in Ihre info.plist ein, die ein Array ist, und geben Sie den Wert "location" ein. Sie erhalten CLLocationManager Updates auch im Hintergrund.

Wenn Sie jedoch mit dem Akku zufrieden sein möchten, sollten Sie die Methode startMonitoringSignificantLocationChanges für einen CLLocationManager verwenden. Dann erhalten Sie auch im Hintergrund ausreichend wichtige Standortaktualisierungen, ohne eine Voll-Hintergrund-App zu sein. Andere Teile der Dokumentation geben an, dass eine wesentliche Änderung jede Änderung von einem Mobilfunkmast zu einem anderen ist.

+0

Vielen Dank für Ihre Antwort; Ich werde dich in wenigen Minuten beantworten, wenn niemand anders antwortet. – Linuxmint

+0

Cool - Entschuldigung für ein bisschen vage. Das ist ein Thema, das an Apps grenzt, die ich eigentlich geschrieben habe, aber dennoch ein wenig jenseits meiner praktischen Erfahrung liegt ... – Tommy