Ho sperimentato con CLLocationManager per un'app che sto costruendo. Capisco come verificare se i servizi di localizzazione sono abilitati e se un utente ha autorizzato la mia app a utilizzare la loro posizione corrente.Notifiche per le modifiche ai servizi di localizzazione?
Se un utente consente la mia applicazione per utilizzare la loro posizione iniziale, e quindi l'utente sia:
- trasforma i servizi di localizzazione in modo esplicito
- mette il telefono in modalità aereo
- esplicitamente de-autorizza la mia app per utilizzare la loro posizione
Sono le notifiche pubblicate che posso sottoscrivere e rispondere automaticamente quando riaprono la mia app?
In caso contrario, sarebbe il modo migliore per gestire questo scenario (in modo che possa aggiornare le viste che visualizzavano le coordinate GPS) per inserire manualmente questo controllo nei metodi applicationDidFinishLaunching e applicationWillEnterForeground di AppDelegate?
La ragione per cui stavo pensando che dovrebbe andare lì è perché quando riavvii un'app, viewWillAppear non viene attivato per la prima vista e se tale visualizzazione deve cambiare da mostrare le coordinate GPS a un messaggio amichevole chiedendo loro di abilitare i servizi di localizzazione, gli AppDelegates erano il miglior aggancio che potessi pensare.
Grazie!
Grazie per la risposta. Penso che userò 1) viewWillAppear per coprire l'avvio iniziale dell'app e ogni volta che una vista viene caricata sullo schermo anche dopo il suo caricamento iniziale, e 2) applicationWillEnterForeground per coprire riaprire l'app dallo sfondo. Nel mio test, viewDidAppear viene chiamato solo la prima volta che viene caricata una vista, quindi non vorrei utilizzarla nel caso in cui la raggiungibilità della rete fosse cambiata mentre erano ancora nell'app. – djibouti33