Ho un'app che utilizza una combinazione di startMonitoringForRegion:
e startMonitoringSignificantLocationChanges
per tenere traccia di dove si trova l'utente quando l'app è in background. Significa che devo includere il valore location
per la chiave UIBackgroundModes
nello Info.plist
?UIBackgroundMode posizione e modifiche significative alla posizione con monitoraggio regione
Questa è una citazione dalla documentazione:
Il servizio di localizzazione significativo cambiamento è altamente raccomandato per le applicazioni che non hanno bisogno di alta precisione dati di localizzazione. Con questo servizio, gli aggiornamenti di posizione vengono generati solo quando la posizione dell'utente cambia in modo significativo; quindi, è ideale per app o app social che forniscono all'utente informazioni non critiche relative alla posizione. Se l'app viene sospesa quando si verifica un aggiornamento, il sistema lo riattiva in background per gestire l'aggiornamento. Se l'app avvia questo servizio e viene quindi terminata, il sistema rilancia automaticamente l'app quando diventa disponibile una nuova posizione. Questo servizio è disponibile in iOS 4 e versioni successive ed è disponibile solo su dispositivi che contengono una radio cellulare.
...
Un'applicazione che fornisce aggiornamenti continui posizione per l'utente (anche se sullo sfondo) può attivare i servizi di localizzazione sfondo includendo la chiave UIBackgroundModes (con il valore posizione) nel proprio file Info.plist . L'inclusione di questo valore nella chiave UIBackgroundModes non preclude al sistema di sospendere l'app, ma comunica al sistema che deve riattivare l'app ogni volta che sono disponibili nuovi dati sulla posizione. Pertanto, questa chiave consente effettivamente all'app di essere eseguita in background per elaborare gli aggiornamenti di posizione ogni volta che si verificano.
La mia interpretazione di questo è che il valore per la chiave location
UIBackgroundModes
è necessario solo se l'applicazione ha bisogno di aggiornamenti di posizione continui, come un'applicazione navigatore satellitare.
Ho anche provato a eseguire l'app su un dispositivo senza il valore location
per la chiave UIBackgroundModes
e continua a segnalare modifiche significative alla posizione e quando viene immessa una regione di uscita.
Inoltre, l'unica posizione che è UIBackgroundModes
citata nello CLLocationManager Class Reference è nella discussione startUpdatingLocation
, che non sto utilizzando.
Intendevo che non sto usando 'startUpdatingLocation'. Grazie mille per la tua risposta! –
Ah, ho capito, mi dispiace. –
@AdamSwinden Sto usando il monitoraggio della regione nella mia app e in modalità background per gli aggiornamenti della posizione, quindi se devo usare la modalità in background cosa devo dire a reviewcenter. –