/**

*  CoreMotion

*

*/

#import "ViewController.h"

#import <CoreMotion/CoreMotion.h> // 导入框架

@interface ViewController ()

@property (nonatomic, strong) CMMotionManager *mgr;// 必须搞成全局的

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

//    [self push];

[self pull];

}

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

{

CMAcceleration acceleration = self.mgr.accelerometerData.acceleration;

LogRed(@"%f --- %f  ---- %f",acceleration.x, acceleration.y, acceleration.z);

}

/**

*  pull  --- 需要的时候, 采集

*/

- (void)pull

{

// 1. 创建运动管理者对象

self.mgr = [[CMMotionManager alloc] init];

// 2. 判断加速计是否可用

if (self.mgr.isAccelerometerAvailable) {

// 4. 开始采样  ---  pull

[self.mgr startAccelerometerUpdates];

}else{

LogGreen(@"加速计不可用");

}

}

/**

*  push --- 根据设置的采集时间间隔, 实时采集

*/

- (void)push

{

// 1. 创建运动管理者对象

self.mgr = [[CMMotionManager alloc] init];

// 2. 判断加速计是否可用

if (self.mgr.isAccelerometerAvailable) {

/**

*  accelerometerUpdateInterval --- 采样时间

isAccelerometerActive       --- 是否正在采集

startAccelerometerUpdates   --- pull

startAccelerometerUpdatesToQueue  --- push

stopAccelerometerUpdates    --- 停止采样

accelerometerData           --- 采集到的数据

*/

// 3. 设置采样间隔

self.mgr.accelerometerUpdateInterval = 1.0 / 30.0;

// 4. 开始采样

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

// 采集到数据时, 就会调用

if(error) return;

CMAcceleration acceleration = accelerometerData.acceleration;

LogRed(@"%f --- %f  ---- %f",acceleration.x, acceleration.y, acceleration.z);

}];

}else{

LogGreen(@"加速计不可用");

}

}

传感器- 加速计 - CoreMotion的更多相关文章

  1. 加速计 & CoreMotion

    CHENYILONG Blog 加速计 & CoreMotion 加速计 & CoreMotion 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微 ...

  2. Swift - 加速传感器(CoreMotion)的用法,小球加速运动并反弹样例

    1,加速传感器可以监听到x,y,z三个方向的加速度,使用步骤如下: (1)实例化CMMotionManager类 (2)向CMMotionManager的accelerometerUpdateInte ...

  3. iOS开发 传感器(加速计、摇一摇、计步器)

    一.传感器 1.什么是传感器传感器是一种感应\检测周围环境的一种装置, 目前已经广泛应用于智能手机上 传感器的作用用于感应\检测设备周边的信息不同类型的传感器, 检测的信息也不一样 iPhone中的下 ...

  4. iOS开发——高级篇——传感器(加速计、摇一摇、计步器)

    一.传感器 1.什么是传感器传感器是一种感应\检测周围环境的一种装置, 目前已经广泛应用于智能手机上 传感器的作用用于感应\检测设备周边的信息不同类型的传感器, 检测的信息也不一样 iPhone中的下 ...

  5. 推送通知/传感器/UIDynamic仿真(推送通知已适配iOS10)

    推送通知/传感器/UIDynamic 一.推送通知 1.推送通知简介 什么是推送通知 此处的推送通知与NSNotification没有任何关系 可以理解为,向用户推送一条信息来通知用户某件事情 作用: ...

  6. iOS 传感器集锦

    https://www.jianshu.com/p/5fc26af852b6 传感器集锦:指纹识别.运动传感器.加速计.环境光感.距离传感器.磁力计.陀螺仪   效果预览.gif 一.指纹识别 应用: ...

  7. iOS---开发实用传感器

    传感器 1.什么是传感器 传感器是一种感应\检测装置, 目前已经广泛应用于智能手机上 2.传感器的作用 用于感应\检测设备周边的信息 不同类型的传感器, 检测的信息也不一样 iPhone中的下面现象都 ...

  8. iphone传感器

    传感器 什么是传感器 传感器是一种感应\检测装置, 目前已经广泛应用于智能手机上 传感器的作用 用于感应\检测设备周边的信息 不同类型的传感器, 检测的信息也不一样 iPhone中的下面现象都是由传感 ...

  9. IOS UIDevice距离传感器(打开 关闭)

    ●  什么是传感器 ●  传感器是一种感应\检测装置, 目前已经广泛应用于智能手机上 ●  iPhone5中内置的传感器有 ●  运动传感器\加速度传感器\加速计(Motion/Acceleromet ...

随机推荐

  1. RHCA学习笔记:RH442-Unit6 磁盘性能调整

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://alansky.blog.51cto.com/634963/654451 UNIT ...

  2. MVC - HtmlHelper类

    传统的Html元素不能和服务端数据进行绑定 HtmlHelper类提供了一系列的方法来生成Html元素 并可以实现与数据绑定在一起 然后生成Html Html.BeginForm(actionName ...

  3. 玩转Android之数据库框架greenDAO3.0使用指南

    用过ActiveAndroid.玩过ORMLite,穿过千山万水,最终还是发现greenDAO好用,ActiveAndroid我之前有一篇文章介绍过 玩转Android之数据库框架ActiveAndr ...

  4. 第一个felx项目的创建

    使用新建flex项目向导建立项目

  5. c语言冒泡排序,指针,数组

    冒泡排序算法的运作如下: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 针对所有的元素重复 ...

  6. [置顶] c#对于文件的操作

    在system.iO:命名空间中提供了两种遍历枚举文件夹的类,Directory 和DirectoryInfo, 他们都有一个方法GetDirectories():来便利枚举文件夹, /// < ...

  7. 微信公众号支付(三):页面调用微信支付JS并完成支付

    一.调用微信的JS文件 1.首先要绑定[JS接口安全域名],“公众号设置”的“功能设置”中 2.引入JS文件 备注:支持使用 AMD/CMD 标准模块加载方法加载 <script type=&q ...

  8. C#Combobox显示名称保存代码

    private void Form1_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Columns.Add ...

  9. win8 64位操作系统 Microsoft Visual Studio 2010在IIS上调试 “此任务要求应用程序具有提升的权限”等问题

    很少在IIS上调试程序,因系统原因,所以不得不在IIS上预览项目和调试项目(因为只能在IIS上预览项目才能看到项目里的数据). 1.附加到进程(注意附加到进程前必须预览项目) 2.选择调试项 需要注意 ...

  10. sql 判断表是否存在

    if object_id(N'tablename',N'U') is not nulldrop table tablenamego if exists (select * from sysobject ...