IOS最重要的特性之一是加速计与螺旋仪,是由CMMotionManager负责管理,在这个类里有3个特性,分别是加速计,螺旋仪,磁力计.

1.加速计

motionManager = [[CMMotionManager alloc] init];NSOperationQueue* queue = [[NSOperationQueue alloc] init];if ( _motionManager.accelerometerAvailable ) {_motionManager.accelerometerUpdateInterval = UPDATEINTERVAL;[_motionManager startAccelerometerUpdatesToQueue:queue withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) {if ( error ) {[_motionManager stopAccelerometerUpdates];NSLog(@"加速计发生错误!");return ;}CMAcceleration accleration = accelerometerData.acceleration;NSString* temp = [NSString stringWithFormat:@"x: %+.2f\ny: %+.2f\nz: %+.2f",accleration.x,accleration.y,accleration.z];[self.accelerometer performSelectorOnMainThread:@selector(setText:) withObject:temp waitUntilDone:NO];}];}else{NSLog(@"设备不支持加速计!");}

个人理解,加速主要用x,y,z三轴来判断手机的摆放位置,还有测重力感应.

2.螺旋仪

CMMotionManager _motionManager = [[CMMotionManager alloc] init];
NSOperationQueue* queue = [[NSOperationQueue alloc] init];
if ( _motionManager.gyroAvailable ) {_motionManager.gyroUpdateInterval = UPDATEINTERVAL;[_motionManager startGyroUpdatesToQueue:queue withHandler:^(CMGyroData *gyroData, NSError *error) {if ( error ) {[_motionManager stopGyroUpdates];NSLog(@"螺旋仪发生错误!");return ;}NSString* temp = [NSString stringWithFormat:@"x: %+.2f\ny: %+.2f\nz: %+.2f",gyroData.rotationRate.x,gyroData.rotationRate.y,gyroData.rotationRate.z];[self.gyro performSelectorOnMainThread:@selector(setText:) withObject:temp waitUntilDone:NO];}];}else{NSLog(@"设备不支持螺旋仪!");}

个人理解,螺旋仪主1要用x,y,z三軸来判断移动的速率,也可以测量重力感情.. 跟加速计的区别在于,在静止时,螺旋仪的每个轴都为0, 但是加速计则根据手机的摆放位置,xyz的每个轴的数也会不一样!

3.磁力计

CMMotionManager _motionManager = [[CMMotionManager alloc] init];NSOperationQueue* queue = [[NSOperationQueue alloc] init];
if ( _motionManager.magnetometerAvailable ) {_motionManager.magnetometerUpdateInterval = UPDATEINTERVAL;[_motionManager startMagnetometerUpdatesToQueue:queue withHandler:^(CMMagnetometerData *magnetometerData, NSError *error) {if ( error ) {[_motionManager stopMagnetometerUpdates];NSLog(@"磁力计发生错误!");return ;}NSString* temp = [NSString stringWithFormat:@"x: %+.2f\ny: %+.2f\nz: %+.2f",magnetometerData.magneticField.x,magnetometerData.magneticField.y,magnetometerData.magneticField.z];[self.magne performSelectorOnMainThread:@selector(setText:) withObject:temp waitUntilDone:NO];}];}else{NSLog(@"设备不支持磁力计!");}

没怎么用过.好像是测东南西北的吧

IOS 之 螺旋仪与加速计, 磁力计相关推荐

  1. 螺旋仪传感器控制手机转向

    公司走测小项目,功能测wifi信号,围着房子转一圈,绘制出走测图,用点的颜色代表信号强度:走测sdk自带的方向控制是手动的,就是点一下左转的时候要点一下左转给sdk发指令:领导想实现自动,于是就使用传 ...

  2. 螺旋仪传感器控制手机转向修正版

    经过测试观察,螺旋传感器,启动监听时的角度即为0度角度,那么我就想,可以在每次转向之后将角度值回复到这个零度角度,这就解决了上一篇,误差大的问题: angle[2] += sensorEvent.va ...

  3. iOS获取健康步数从加速计到healthkit

    转自:http://www.cnblogs.com/dongliu/p/5629065.html 计步模块接触了一年多,最近又改需求了,所以又换了全新的统计步数的方法,整理一下吧. 在iPhone5s ...

  4. 《iOS开发实战 从入门到上架App Store(第2版)》书籍目录

    第1章 开发准备 1.1 iOS 10新特性简述 1.1.1 新增触觉反馈编程接口 1.1.2 SiriKit框架的开放 1.1.3 引入Messages App 1.1.4 通知框架的整合与扩展 1 ...

  5. ②(常识篇)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)

    iOS面试题 一共分为笔试题和面试题两部分 笔试题 一共分为10个 总共613题 面试题 一共400题 笔试题 一个10个系列 分别为 ①(语法篇) 共147题 已更新 ②(常识篇) 共72题 已更新 ...

  6. 【雕爷学编程】Arduino动手做(142)---GY-25串口倾斜度模块

    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...

  7. Android 全景视频播放器(VR视频播放器探索二)

        上次随便写着玩的  http://blog.csdn.net/ai_yong_jie/article/details/51159367   Android 全景视频播放器(VR视频播放器探索一 ...

  8. 2018大数据培训学习路线图(详细完整版)

    2018大数据培训学习路线全课程目录+学习线路详解(详细完整版) 第一阶段:大数据基础Java语言基础阶段 1.1:Java开发介绍 1.1.1 Java的发展历史 1.1.2 Java的应用领域 1 ...

  9. 大数据学习路线图(转载)

    我在人工智能和大数据之间选择学习了大数据,因为脑子笨笨笨 2018大数据培训学习路线图(详细完整版) 2018大数据培训学习路线全课程目录+学习线路详解(详细完整版) 第一阶段:大数据基础Java语言 ...

最新文章

  1. 【HDU6667】Roundgod and Milk Tea【贪心】
  2. 仿windows关机对话框的提示框效果
  3. 使用ReentrantLock和Lambdas进行干净同步
  4. 【渝粤教育】广东开放大学 机械制造基础 形成性考核 (55)
  5. 总结php删除html标签和标签内的内容的方法
  6. oracle写转帐的存储过程,Oracle存储过程及块编程基础经典案例
  7. 用JNDI连接数据库
  8. Introduction to Computer Networking学习笔记(十四):网络中为什么使用packet switching
  9. Python语言程序设计----【第8周 程序设计方法学】之8.2 Python程序设计思维
  10. 香橙派更改中文界面以及安装输入法
  11. xcode打包IPA(完整详细图文)
  12. Mysql SSL 2206错误
  13. 中国社交产品十年记....
  14. c语言源程序自动评判系统,源程序的自动评判系统.PDF
  15. 苹果 M1芯片运行Android模拟器
  16. 【小白学Java】D19》》》Collection集合
  17. 面试——讲讲什么是happens-before?
  18. 简略介绍react框架特性
  19. [luogu] P4735 最大异或和
  20. uni-app中使用rich-text如何添加样式控制富文本里面的内容

热门文章

  1. 【计算方法】不动点迭代法(非线性方程的求解)
  2. 解决python openpose导入自己项目后,运行出现No module named pyopenpose的问题
  3. 大厂秘籍:谷歌代码规范开放下载,手把手教你写出好代码
  4. 《华林科纳-半导体工艺》种植体刻蚀表面分析
  5. 基于java+springboot+mybatis+vue+elementui的网上书籍购买商城
  6. 支付宝自动跳转到搜索红包地址
  7. 【电气专业知识问答】问:变压器励磁涌流有哪些特点?目前差动保护中防止励磁涌流影响的方法有哪些?
  8. 「作者面对面」访谈录
  9. 安卓逆向学习及APK抓包(二)--Google Pixel一代手机的ROOT刷入面具
  10. 题库1252(深搜) 水滴