No GPS, Accelerometer, Barometer data provided

Hi guys,


I'm activating CoreMotion and CoreLocation in the following order (but may not be the issue here)

startBarometerUpdatesToMotionQueue { (altitudeData, error) in  ...             // with default 1s data provision interval
startAccelerometerUpdatesToMotionQueue { (accellerometerData, error) in  ...   // with 150 ms data provision interval
startUpdatingLocation()                                                        // with min. 1s data provision interval         
startUpdatingHeading()                                                         // with same update rate as Location

Under certain undetermined conditions. e.g. cpu load, the activated services won't provide any data, eventhough the initialisation and activation proceeds error free.


Observed:

Both CoreMotion and CoreLocation are activated and do not throw any exception or error,

CoreMotion and CoreLocation data is not provided.


Expected:

CoreMotion and CoreLocation data is provided in regular intervals as configured.


Reproducibility:

Either always or never, meaning on certain devices the issue is intrinsic on other never. It seems like a performance issue.


Remediation:

Decrease update rate of Accelerometer to 500ms.


Remark: when starting the CoreMotion and CoreLocation immediately on App start (e.g. using 3D Touch), the solution to resolve the situation was to delay sensor activation especially to support data feeding of gyrometer.

I think the issue here is the kind of concurreny/competition in sensor activation.


Is there a way to diagnose the origin of missing data feed?


Reference: Feedback Assistant: Oct 24, 2019 at 7:56 PM – FB7406013