iOS计步器实现

作者: 小李童学 | 来源:发表于2017-01-04 17:10 被阅读0次

前几天写一个关于养生和医疗的一个项目,要写一个类似微信运动的计步器功能,只好先去研究一下计步器功能实现。

之前在我的印象中,直接调用healthKit框架获取苹果的健康应用数据就挺好,结果查了一大堆资料,还真给学到了不少。而且对新手而言,了解比应用更重要,所以本文中尽量减少了代码,偏于展示效果和简单说明。

需要清楚的是iPhone5s、iPhone6、iPhone6 Plus、iPhone6s、iPhone6s Plus使用了M7或者M8处理器,所以可以轻易的实现计步器功能。

所以:5s以下的设备是不支持手机计步。

HealthKit简述:

HealthKit框架提供了一个结构,应用可以使用它来分享健康和健身数据。HealthKit管理从不同来源获得的数据,并根据用户的偏好设置,自动将不同来源的所有数据合并起来。应用还可以获取每个来源的原始数据,然后执行自己的数据合并。

计步器功能比较普遍的有两种方法,不排除有什么贼好但是老猥琐的第三方库。

bid要打开HealthKit功能,Xcode-capabilities-HealthKit打开

第一种:直接了当的方法,直接调用系统的健康数据,基于HealthKit框架的,但是数据的更新时间不给力,貌似是一个小时更新一次数据,好可怜,如果是实时获取步数,这种方法就不堪入目了。

效果展示:

使用HealthKit特别注意

你的应用不应该将HealthKit收集的数据用于广告或类似的服务。注意,在使用HealthKit框架应用中可以插播广告,但是你不能使用HealthKit中的数据来服务广告。

在没有用户的明确允许下,你不能向第三方展示任何HealthKit收集的数据。即使用户允许,你也只能向提供健康或健身服务的第三方展示这些数据。

你不能将HealthKit收集的数据出售给广告平台、数据代理人或者信息经销商。

如果用户允许,你可以将HealthKit数据共享给第三方用于医学研究。注意是用户允许

你必须明确说明,你和你的应用会怎样使用用户的HealthKit数据。

Demo地址:让子弹飞一飞

第二种:使用Core Motion:外部使用CMPedometer或者CMStepCounter来读取用户的步数和走的里程。

效果展示:

Demo:再去飞一飞

其次,需要注意的是,Core Motion中的有两种计步:CMStepCounter和CMPedomete。CMPedomete必须iOS8.0以上才可以使用,但是CMPedomete却可以获取更多的运动信息(步数、距离、上下楼层数、速度、节奏、开始和结束时间查询行走相关信息、某一时刻开始监测步数变化),而CMStepCounter只能获取步数。也有那种对两种进行封装的方法。Demo:最后一次飞

两者的区别:

其实第一种Healthkit也是使用CMPedometer或CMStepCounter来读入用户的步数和走的里程的,只不过计算方法在手机内部。它是利用 iphone5s 以上的m处理器来获取数据计算了,所以5s以下的设备是不支持 CMPedometer 手机计步的。

直接使用HealthKit计步会有缺点,计步不准,主要是因为HealthKit记录的时区问题,iOS获取时间的时区按中国的时区少了8个小时

相关文章

  • iOS计步器实现

    前几天写一个关于养生和医疗的一个项目,要写一个类似微信运动的计步器功能,只好先去研究一下计步器功能实现。 之前在我...

  • iOS 实现计步器功能

    现在越来越多的人关注运动和健康,iOS系统也在很早的时候就自带了健康APP,下面详细描述一下在我们开发中,怎么实现...

  • 基于三轴传感器的计步器代码实现-iOS

    原有iOS计步器采用系统框架swift语言调用 改为三轴传感器的计步器实现 开启陀螺仪采集三轴数据 计步核心 波峰...

  • iOS通过CMPedometer实现计步器

    CMPedometer是iOS8以后推出的CoreMotion框架中用于获取用户运动信息的类,我们可以获取到用户活...

  • iOS 计步器的几种实现方式

    这篇文章介绍两种可以获取计步数据的方法,一种是采用CMPedometer获取手机计步器数据,另一种是采用Healt...

  • 计步器UI实现

    UI说明: 1.浅色的表示总共是100%2.深蓝色的表示执行了75%3.数字描述4.单位描述 技术知识: 在Can...

  • iOS 计步器开发

    在微信运动、QQ健康等泛滥的年代,我们公司也终于要搞一个计步器,特此记录。 对于使用了M7或者M8处理器的设备(i...

  • iOS中计步器的实现方案及原理

    前言 当前社会随着社会水平的越来越高,人民饮食也更加的丰富多样,随之而来就成就了越来越多可爱的胖子。胖子多了,一些...

  • iOS Healthkit和CMPedometer区别

    转IOS 计步器功能 Healthkit和CMPedometer文/贪吃鱼(简书作者)原文链接:http://ww...

  • iOS-Android 加速计和陀螺仪的调用机制

    iOS 加速计、陀螺仪、计步器、磁强计和气压计的数据是通过核心运动框架 CoreMotion来管理的。 iOS 1...

网友评论

    本文标题:iOS计步器实现

    本文链接:https://www.haomeiwen.com/subject/eenovttx.html