Domanda

Mi stavo chiedendo se fosse possibile fare un app iOS che traccia la posizione via GPS mentre era in background.

ho provato questo con il built-in app "Mappe", ma senza alcun risultato.

Se questo è possibile, sarebbe bello se potesse fare riferimento al codice di esempio, documentazioni, o tutorial!

(se si tratta di un duplicato, per favore fatemelo sapere e io toglierlo)

È stato utile?

Soluzione

Questo è possibile - vedi questo documento multitasking in generale e questa sezione della Location Awareness Guida alla programmazione in "Getting Location Eventi in Background" . Naturalmente, tutti questi parlare di tutti i vari modi in cui un dispositivo iOS in grado di conoscere la propria posizione (torre di triangolazione cellulare, Skyhook stile di osservazione rete wifi e GPS), non GPS esclusiva.

In breve, dalla lettura di questi documenti: aggiungere la chiave UIBackgroundModes nel vostro info.plist, che è un array, e mettere il valore di 'location' in esso. Riceverai CLLocationManager aggiorna anche quando in background.

Tuttavia, se si vuole essere gentile con la batteria, allora è meglio con il metodo startMonitoringSignificantLocationChanges su un CLLocationManager. Quindi si ottiene opportunamente significativi aggiornamenti di posizione anche quando in background senza essere un intera su uno sfondo app. Altre parti dello stato documentazione di un cambiamento significativo è alcun cambiamento da una torre di cella a un altro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top