加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 17:37:25 所属栏目:百科 来源:网络整理
导读:我无法从核心运动管理器获取加速度计数据…我按照文档,它仍然无法正常工作:( self.manager = [[CMMotionManager alloc] init];self.manager.accelerometerUpdateInterval = 0.01;[self.manager startAccelerometerUpdates];CMAccelerometerData *newestAccel
我无法从核心运动管理器获取加速度计数据…我按照文档,它仍然无法正常工作:(

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的实例并将变量分配给它.希望这可以帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读