检测iPhone运动是否改变方向?

时间:2015-05-18 18:31:16

标签: ios iphone motion-detection

在我的应用程序中,iPhone有两种情况:

  1. 沿着线路方向移动

  2. 沿弧形方向移动

  3. 如何检测运动方向是否改变方向?

1 个答案:

答案 0 :(得分:1)

您必须引入CoreMotion框架并启动设备加速度计和/或陀螺仪。 CoreMotion Reference

你想要得到的是CMAccelerometerData。这是通过实例化CMMotionManager对象并调用startAccelerometerUpdatesToQueue:withHandler:

来完成的

这样的事情:

CMMotionManager *manager = [[CMMotionManager alloc] init];
manager.accelerometerUpdateInterval = 0.5;  // half a second

NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[manager startAccelerometerUpdatesToQueue:queue withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) {
    double x = accelerometerData.acceleration.x;
    double y = accelerometerData.acceleration.y;
    double z = accelerometerData.acceleration.z;

    // post back to main queue to update UI
    dispatch_async(dispatch_get_main_queue(), ^{           

    });
}]; 

你需要使用一些好的老式几何来检测弧线与线条。