Attualmente sto lavorando con lo CLLocationManager
e voglio essere informato sull'intestazione corrente del dispositivo. Finora tutto funziona, le funzionalità sono implementate e ora provo a lucidare la mia app.Come rilevare lo stato dell'interruttore di calibrazione della bussola su iOS
C'è un caso angolo, se l'utente disattiva il flag compass calibration
nella rubrica delle impostazioni utente, gli aggiornamenti non verranno più inviati alla mia app. In tal caso voglio dare un feedback all'utente, che deve attivare nuovamente la calibrazione della bussola altrimenti la mia app non funzionerà.
Ho scoperto che, nel caso in cui l'utente spenga lo location services
per la mia app, continuerò a ricevere la direzione magnetica. Ma se l'impostazione di "calibrazione della bussola" verrà disattivata dall'utente, non riceverò più aggiornamenti di intestazione. Ma come posso identificare attraverso il framework CoreLocation
che la "calibrazione della bussola" è stata disattivata?
Il "CLLocationManagerDelegate
" mi dà un aggiornamento attraverso il metodo
- (void)locationManager:(CLLocationManager*)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
. Ma lo stato indica solo se i "servizi di localizzazione" sono in-attivi per la mia app.
Ho anche cercato di ottenere alcune informazioni valide attraverso il metodo
- (void)locationManager:(CLLocationManager*)manager didFailWithError:(NSError*)error
delegate
, senza alcun successo.
C'è qualcosa nel framework CoreLocation
che può dirmi se il flag "calibrazione bussola" è attivato/disattivato.
Avete mai trovato una risposta per questo? –