Indoor Navigation stops working when compass calibration pops up

I’m currently having the issue when my app is running, the compass calibration screen pops up and the indoor location stops working.

I was wondering if there was a fix to this?


Calibration window popping up often could be because of two reasons:
a) the surroundings are not “compass friendly” i.e. lot of cables, large amount of metal elements etc.
b) faulty magnetometer in phone

You can check b) by testing on a different device.
In case of a) it is impossible to circumnavigate in some of the settings. In such case I would advise to not use the orientation of the user at all i.e. use the Light navigation mode and turn off orientation

Is there a way to disable the compass calibration from appearing? I’d rather have it not appear and deal with interference from the surroundings in a different way. Why does the compass calibration appearing cause the indoor navigation to stop working? Thanks.

For iOS app - I have a work around for when the compass calibration appears while doing indoor navigation. In the AppDelegate.swift file, I use the “applicationDidBecomeActive(_ application: UIApplication)” callback function so that when I am done with the Compass Calibration, this callback function is called. In the callback function, I get an instance to my indoor navigation controller (navigationController.topViewController!.view.tag), I check to see if the controller is active by checking the view.tag of the controller. If the controller is active based on the view tag, then I call a function on my indoor navigation controller to stop/start monitoring and position updates for Estimote.

I did this because every time the Compass Calibration appeared, my indoor navigation would stop working. This allows it to keep working.