随着中国北京2022年冬奥会申请成功,很多滑雪爱好者急切需要一款滑雪工具的app,商家看准了这次机会,开始开发该类应用,那么必定少不了测量实时气压值,苹果大boss在iPhone 6及以后的设备内置了气压传感器,那作为一个开发者要如何去获取呢?
iOS8之后苹果更新了一个新的API,Core Motion。该Framework包含了三个资源库:SMAItitudeHandler, StartAmbientPrssureUpdates和CMAItimeter。
//写给新手:懒加载初始化
- (CMAltimeter *)altimeter {if (!_altimeter) {_altimeter = [[CMAltimeter alloc]init];}return _altimeter;
}
    //检测设备是否支持气压计if (![CMAltimeter isRelativeAltitudeAvailable]) {NSLog(@"Barometer is not available on this device. Sorry!");return;
    //开始监测[self.altimeter startRelativeAltitudeUpdatesToQueue:[NSOperationQueue mainQueue] withHandler:^(CMAltitudeData * _Nullable altitudeData, NSError * _Nullable error) {// 实时刷新数据[self updateLabels:altitudeData];}];
    //停止也很简单[self.altimeter stopRelativeAltitudeUpdates];
- (void)updateLabels:(CMAltitudeData *)altitudeData {NSString *altitude = [NSString stringWithFormat:@"%@", [formatter stringFromNumber:altitudeData.relativeAltitude]];NSString *pressure = [NSString stringWithFormat:@"%@", [formatter stringFromNumber:altitudeData.pressure]];//相对高度,并非海拔self.label2.text = [NSString stringWithFormat:@"Relative Altitude: \n%@ m", altitude];//实时气压self.label3.text = [NSString stringWithFormat:@"Air Pressure: \n%@ kPa", pressure];
}
那么到现在我们就获得了当前设备所处地区的气压值,但是要注意一定要在iPhone6以上的真机上测试,模拟器是不可以的哦。

iOS开发之获取实时气压、相对高度相关推荐

  1. iOS开发之获取实时海拔高度

    上一篇介绍了获取当前气压值以及设备相对高度的方法,现在我们来看一下如何获取当前设备绝对高度既海拔高度(除了直接看iPhone6的指南针). 普及一下常识:海拔高度也称绝对高度,就是某地与海平面的高度差 ...

  2. iOS开发:获取手机等设备当前的语言和地区的方法

    在iOS开发过程,尤其是开发有需要做国际化的项目的时候,如果需要做本地语言国际化,需要获取到手机本地语言设置,然后向服务器请求数据的时候,需要把获取到的手机本地语言参数传给后台,然后后台根据具体的语言 ...

  3. iOS开发——定位 获取经纬度

    最近公司提供了一个学习iOS的机会,问我是否愿意学习iOS,还是继续只做android开发.我感觉非常幸运,能有此机会去学习iOS,当即说要学习iOS开发. 学习了几天啦,做了一个小demo实现了获取 ...

  4. iOS 开发之获取时间到年底可能会踩到的坑

    昨天中午微信突然炸了!打开一看所有区的微信群都在反应程序里的时间不对,影响他们营业.随后我安装程序看了一下,程序里的时间现实的是 2018 年 12 月 31 日 跟群里描述的一样.然后我和同事开始从 ...

  5. iOS开发:获取WiFi名称(解决iOS12.0以上系统不能正常获取WiFi名称的方法)

    前段时间在开发过程中遇到一个问题,就是之前设置的获取手机连接WiFi名称的方法不起作用了,后来经查发现是因为新系统需要申请开启相对应的权限才能获取到手机连接的WiFi名称等信息,本章就来讲一下iOS1 ...

  6. iOS开发,获取手机型号,系统版本号

    iOS 的APP在开发的过程中,有时候为了bug的跟踪,需要收集用户使用手机的设备,手机系统版本,手机型号,以及应用版本,应用信息等等.这些的信息便于开发者诊断问题,是能够通过开发api可以获取到的, ...

  7. iOS开发中显示实时的FPS值

    OttoFPSButton 前言 在项目开发中,有的时候需要查看实时的FPS值,以此作为性能的参考. 优势 实时显示FPS值. 可以拖到任意位置贴边,不影响调试. 效果图 使用 将OttoFPSBut ...

  8. iOS开发,轻松获取根控制器当前控制器的正确方式

    背景 在开发过程中,经常需要获取当前 window, rootViewController, 以及当前 ViewController 的需求. 如果 .m 实现不是在当前视图情况下, 我们需要快速的获 ...

  9. iOS开发:获取系统WiFi名称,WiFi列表,WiFi强度,WiFi设置密码,WiFi副标题标签

    前段时间在开发蓝牙功能,蓝牙功能开发结束之后最近又在开发WiFi功能.WiFi功能也算简单,主需要导入使用苹果系统自带的框架即可,仅仅单纯的获取手机当前连接的WiFi名称,或者获取手机系统显示的WiF ...

  10. iOS 开发之获取手机壳的颜色

    从刷爆IT圈的一个事件说起: 新闻:某互联网公司产品经理提出一个需求 - 要求APP开发人员做到软件根据用户的手机壳改变软件的主题颜色. 图片来源于网络 什么他妈的!还有这操作,PM,你过来,保证不打 ...

最新文章

  1. html的分类与特点
  2. 常考数据结构与算法:最大正方形
  3. 【解题报告】Leecode 423. 从英文中重建数字——Leecode每日一题系列
  4. 【渝粤教育】 国家开放大学2020年春季 1260软件工程 参考试题
  5. Linux(16)-Vim编辑器的使用
  6. Java工作笔记-IntelliJ IDEA中高效文件切换跳转
  7. 定积分算法java_变步长梯形积分算法求解函数定积分
  8. tensorflow conv2d的padding解释以及参数解释
  9. Linux CentOS完全卸载PHP
  10. MySQL的启动脚本
  11. 计算机网络安全基础-网络监听基本概念
  12. 易语言计算机设备获取,易语言获取混音设备名称
  13. IMX6Q开发板使用USB直接连接HP LaserJet 1020 plus打印机打印。
  14. 层次分析法(AHP)——MATLAB在数学建模中的应用(第2版)
  15. UVA - 11137 Ingenuous Cubrency
  16. 经常使用传感器协议3:CJ/T-188 冷热量表协议解析2
  17. android存储视频文件夹在哪,Android 中 视频存储路径的一个方案
  18. 因为此版本的应用程序不支持其项目类型(.csproj)
  19. vim setting
  20. STM32通过DMA方式实现串口通信

热门文章

  1. Ubuntu Server 18.04配置无线Wifi网卡
  2. 系统学习深度学习(十)--优化算法
  3. python plot画柱状图_Python绘制柱状图
  4. 自学软件测试怎么样,有前景吗?
  5. html td里面元素的获取
  6. 【BZOJ3772】精神污染 DFS序+主席树
  7. Java中巧算年龄的代码,巧算年龄 - 寂寞暴走伤的个人空间 - OSCHINA - 中文开源技术交流社区...
  8. openssl的部分使用例子
  9. 微信端开发--登录小程序
  10. last-winner-airdrop