我必须在单独的线程中而不是在主线程中获取加速度计和位置更新。此外,它不应中断其他或其他 UI 任务。
位置更新和加速度计更新应分开运行。如何分别运行这两个?
在获得加速度计更新后,我正在执行一些任务,在位置更新后,我正在执行一些其他任务。但我观察到这些正在相互干扰。
对于位置更新,我使用委托方法:
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
/// sending location details to server.
}
对于加速度计更新,我使用委托方法:
[motionManager startAccelerometerUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMAccelerometerData *accelerometerData, NSError *error)
{
if (!error) {
/// Calculating some values and sending those details to server.
}
}];