在单独的线程中收集加速度计和位置更新

时间:2014-02-04 11:00:43

标签: ios cllocationmanager cmmotionmanager

我必须在单独的线程中获得加速度计和位置更新,但不能在主线程上获得。此外,它不应该中断另一个或其他UI任务。

位置更新和acclerometer更新应单独运行。如何分别运行这两个?

获得加速度计更新后,我正在执行一些任务,在进行位置更新后,我正在执行其他一些任务。但我观察到这些正在打断另一个人。

对于位置更新,我使用委托方法:

-(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.
    }
}];

0 个答案:

没有答案