Guardando il contenuto di Apple doc in basso, si hanno chiaramente 2 alternative rispetto all'utilizzo di modifiche di posizione significative per attivare un'app dallo sfondo. Ho contrassegnato in grassetto i servizi che puoi utilizzare per riavviare l'app se è stata interrotta.
Utilizzando i servizi di localizzazione in background La maggior parte dei servizi di localizzazione sono destinato a essere utilizzato durante la vostra applicazione è in primo piano, ma alcuni possono anche corsa in background. In alcuni casi, gli eventi di posizione possono persino causare il riavvio della tua app per l'elaborazione di un evento tramite . Per eseguire la maggior parte dei servizi di posizione in background, è necessario abilitare la modalità di aggiornamento degli aggiornamenti di posizione nella scheda Funzionalità del progetto Xcode. Per i servizi che avviano l'app, è necessario richiedere (ed essere concesso) l'autorizzazione "Sempre" da parte dell'utente.
Il servizio di localizzazione standard consegna gli eventi normalmente mentre un'app è in esecuzione in primo piano. Quando la tua app è in background, questo servizio offre eventi solo quando la modalità in background aggiornamenti location è abilitata per l'app. Questo servizio non riavvia le app iOS che sono state interrotte.
Il servizio di cambio posizione significativo consegna eventi normalmente mentre un'app è in esecuzione in primo piano o in background. Per un'app per iOS terminata , questo servizio riavvia l'app per fornire eventi . L'utilizzo di questo servizio richiede l'autorizzazione "Sempre" dell'utente .
Il servizio di monitoraggio regione consegna gli eventi normalmente mentre un'applicazione è in esecuzione in primo piano o in background. (È possibile utilizzare questo servizio per entrambe le aree geografiche e beacon.) Per un'app iOS terminata , questo servizio riavvia l'app per la distribuzione degli eventi. Uso di Questo servizio richiede l'autorizzazione "Sempre" da parte dell'utente.
Il beacon che fornisce gli eventi normalmente mentre un'applicazione è in esecuzione in primo piano . Quando la tua app è in background, questo servizio offre eventi solo quando la modalità di aggiornamento degli aggiornamenti di posizione è abilitata per l'app e il servizio di localizzazione standard è in esecuzione. (Se la proprietà notifyEntryStateOnDisplay del beacon region è impostata su YES, la sveglia del dispositivo fa sì che l'app diventi per alcuni secondi sullo sfondo .) Questo servizio non riavvia le app iOS che sono state interrotte ; tuttavia, è possibile riavviarlo monitorando le regioni del faro utilizzando il servizio di monitoraggio della regione.
Il servizio di prua consegna eventi normalmente mentre un'app per iOS è in esecuzione in primo piano. Quando l'app è in background, questo servizio consegna eventi solo quando la modalità in background aggiornamenti posizione è abilitata per l'app e il servizio di localizzazione standard è in esecuzione. Questo servizio non riavvia le app iOS che sono state interrotte.
Il servizio di visita consegna gli eventi normalmente mentre un'app per iOS è in esecuzione in primo piano. Quando l'app è in background, questo servizio consegna eventi solo quando la modalità in background aggiornamenti posizione è abilitata per l'app e il servizio di localizzazione standard è in esecuzione. Per un'app iOS terminata, questo servizio riavvia l'app per la distribuzione degli eventi. L'utilizzo di questo servizio richiede l'autorizzazione "Sempre" dell'utente .
Abilitando la modalità di aggiornamento degli aggiornamenti di posizione si assicura che un'app continui a ricevere eventi di posizione mentre è in background. Quando l'app si sposta sullo sfondo, il sistema aggiunge l'indicatore di posizione alla barra di stato per informare l'utente che un'app utilizza i servizi di posizione . Il sistema può ancora terminare l'app in qualsiasi momento per recuperare la sua memoria o altre risorse.
Anche dal doc,
Ottenere i Luoghi Visitato in IOS, il servizio di visite fornisce un'alternativa al servizio di significativo cambiamento di posizione per le applicazioni che necessitano di posizione informazioni su luoghi interessanti che l'utente ha visitato. Per esempio , se l'utente si trova in una posizione per un periodo prolungato di tempo , il servizio potrebbe generare un evento quando l'utente arriva a tale posizione e un altro quando l'utente lascia quella posizione. Il servizio è destinato alle app che potrebbero già utilizzare il servizio di cambio di posizione significativo e desiderano un modo di alimentazione ancora più basso, , per farlo. Non utilizzeresti questo servizio per creare app di navigazione o app che si basano su aggiornamenti regolari della posizione.
Sì, è possibile, ma potrebbe essere necessario combinare con significativo monitoraggio posizione al fine di ottenere gli aggiornamenti di posizione continui; http://stackoverflow.com/questions/20187700/startupdatelocations-in-background-didupdatingtolocation-only-called-10-20-time – Paulw11