В настоящее время я работаю с CLLocationManager
и хочу получать информацию о текущем заголовке устройства. Пока все работает нормально, функции реализованы, и теперь я пытаюсь отшлифовать свое приложение.
Есть крайний случай, если пользователь выключит флаг compass calibration
в заголовке пользовательских настроек, обновления больше не будут отправляться в мое приложение. В таком случае я хочу сообщить пользователю, что он должен снова включить калибровку компаса, иначе мое приложение не будет работать.
Я понял, что если пользователь отключит location services
для моего приложения, я все равно получу магнитный заголовок. Но если пользователь отключит настройку «калибровка компаса», я больше не буду получать обновления заголовков. Но как я могу определить через структуру CoreLocation
, что «калибровка компаса» была отключена?
"CLLocationManagerDelegate
" дает мне обновление через
- (void)locationManager:(CLLocationManager*)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
метод. Но статус указывает только на то, что «службы определения местоположения» неактивны/активны для моего приложения.
Я также пытался получить достоверную информацию через
- (void)locationManager:(CLLocationManager*)manager didFailWithError:(NSError*)error
delegate
безуспешно.
Есть ли что-то в структуре CoreLocation
, что может сказать мне, включен ли флаг "калибровка компаса"?