Core Motion 加速器的使用步骤


两种使用方法

1. pull(用户主动获取, 调用频率根据用户需求)

- (void)pull

{

    // 1. 创建mgr

    CMMotionManager *mgr = [[CMMotionManager alloc] init];

    _mgr = mgr; 

    

    // 2. 判断加速器是否能够使用

    if (mgr.isAccelerometerAvailable) { // 可以使用

        //  3.开始获取

        [mgr startAccelerometerUpdates];

        

        // 此处已点击一次屏幕采集一次信息

    }

    

}

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event

{

    // 点击屏幕就获取采集信息

    NSLog(@"x = %f y = %f z = %f ", _mgr.accelerometerData.acceleration.x , _mgr.accelerometerData.acceleration.y, _mgr.accelerometerData.acceleration.z);

}


--------------------------- 华丽的分割线-----------------------


2. push (系统主动推送,调用频率高)

- (void)push

{

    // 1.创建CoreMotion管理者

    CMMotionManager *mgr = [[CMMotionManager alloc] init];

    _mgr = mgr;

    

    // 2.判断加速器是否能够使用(最好判断)

    if(mgr.isAccelerometerAvailable){ // 可以使用

        

        // 3.设置获取时间间隙

        mgr.accelerometerUpdateInterval = 1.0 / 30.0; // 1分钟30

        

        // 4.开始获取

        [mgr startAccelerometerUpdatesToQueue:[NSOperationQueue mainQueue] withHandler:^(CMAccelerometerData * _Nullable accelerometerData, NSError * _Nullable error) {

            if (!error) { // 采集成功

                NSLog(@"x = %f y = %f z = %f ", accelerometerData.acceleration.x , accelerometerData.acceleration.y, accelerometerData.acceleration.z);

            }

        }];

    }

}

@end



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值