現在、CLLocationManager
と一緒に作業しており、デバイスの現在の見出しについて知りたいと思っています。これまでのところすべて正常に動作し、機能が実装され、今では私のアプリを磨くようにしています。iOSでコンパスのキャリブレーションスイッチの状態を検出する方法
コーナーケースがあります。ユーザがユーザ設定のcompass calibration
フラグをオフにすると、見出しのアップデートは私のアプリケーションに送信されなくなります。そのような場合、私はユーザーにいくつかのフィードバックを与えたいと思います。コンパスのキャリブレーションをもう一度オンにしなければ、アプリは動作しません。
ユーザーが私のアプリのlocation services
をオフにした場合、私はまだ磁気見出しを受け取ることに気付きました。しかし、「コンパス校正」の設定がユーザーによって有効にされた場合、私はもはや見出し更新を受信しません。しかし、私はどのようにしてCoreLocation
フレームワークで "コンパス較正"がオフになっているかを特定できますか?
"CLLocationManagerDelegate
は、" 私に
- (void)locationManager:(CLLocationManager*)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
メソッドを通じてアップデートを提供します。しかし、ステータスは、「ロケーションサービス」が自分のアプリにイン/アクティブである場合にのみ表示されます。
私はまた、任意の成功なし
- (void)locationManager:(CLLocationManager*)manager didFailWithError:(NSError*)error
delegate
方法を通じて、いくつかの有効な情報を取得しようとしました。
CoreLocation
フレームワークには、「コンパス較正」フラグがオン/オフになっているかどうかが分かります。
この回答はこれまでに見つかりましたか? –