iOS CMPedometer的使用

  

一。介绍
CMPedometer是苹果8.0推出的,之前的只能从物理引擎的框架去做,很是尴尬。而且不支持32位的系统,意味者iphone5和以后的型号都不支持这个。现在普遍好多了,现在的公司一般最低适配到8.0或者直接10.0系统,再也不用担心这个问题了。
二。使用
先声明一个属性,不然他容易泄露,苹果的好多框架都是这样的,不能直接使用,得千万注意
@ property(原子、强)CMPedometer计步器;

  

三。判断权限
计步器=[[CMPedometer alloc] init];
编译指示标志返回当天00:00

  
      <李> (NSDate) obtainTodayDate {
    返回[NSDate日期];
    }   
  

编译指示标志返回现在的时间

  
      <李> (NSDate) obtainNextTodayDate{   
  

NSCalendar日历=[NSCalendar currentCalendar],
NSDate现在=[NSDate日期];
NSDateComponents组件=[日历组件:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:现在);
NSDate startDate可以=(日历dateFromComponents:组件);

  

返回startDate可以;
}

  

[计步器queryPedometerDataFromDate: nil迄今为止:nil withHandler: ^ (CMPedometerData Nullable pedometerData NSError Nullable错误){

  

}]
四。注意
1。因为我获取的是当天的时间,所以做法就很简单了,获取现在的时间,然后获取第二天凌晨的时间,刚好就是一整天的时间
获取步数,这个不能格式化成为本地时间,之前格式化过成为北京时间发现错位8个小时。
2。苹果的这个获取步数,不能每秒实时获取,容易错误,尽量1分钟获取一次好点,这样能保证获取成功
3。还有其他的方法,基本上很少用的到,用到了直接看下注视就可以很清楚的看明白。

iOS CMPedometer的使用