objective-c – 如何从iOS上的Core Motion获取数据

前端之家收集整理的这篇文章主要介绍了objective-c – 如何从iOS上的Core Motion获取数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我无法从核心运动管理器获取加速度计数据…我按照文档,它仍然无法正常工作:(

self.manager = [[CMMotionManager alloc] init];
self.manager.accelerometerUpdateInterval = 0.01;
[self.manager startAccelerometerUpdates];

CMAccelerometerData *newestAccel = self.manager.accelerometerData;

int x,y,z;
x = newestAccel.acceleration.x;
y = newestAccel.acceleration.y;
z = newestAccel.acceleration.z;

任何帮助将非常感谢!!

解决方法

我设法使用块工作,这是我设法工作的代码

NSOperationQueue *theQueue = [[NSOperationQueue alloc] init];

_returnedData = [[CMAccelerometerData alloc] init];
_motionManager = [[CMMotionManager alloc] init];

[_motionManager startAccelerometerUpdatesToQueue:theQueue withHandler:^(CMAccelerometerData *accelerometerData,NSError *error) {

    _returnedData = _motionManager.accelerometerData;

    int x = _motionManager.accelerometerData.acceleration.x;
    int y = _returnedData.acceleration.y;

    NSLog(@"X: %i,Y: %i",x,y);
}];

您可以直接从CAMotionManager访问accelerometerData.accelleration,也可以创建CMAccelerometerData的实例并将变量分配给它.希望这可以帮助.

猜你在找的Xcode相关文章