OC - iOS7、8及其以上计步器的简单使用
来源:互联网 发布:情人节 巧克力 知乎 编辑:程序博客网 时间:2024/05/01 22:35
在iOS 7设备上,计步器开发只能获取到走了多少步,而不能得到其他的数据,在iOS 8的时候,推出了CMPedometerData类,可以获取多个数据。现在让我们来看看计步器基本的功能吧,其实吧,没写之前觉得挺高大上的,写完以后,感觉真的就是那么回事,并不难实现。iOS 7的计步类是 CMStepCounter iOS 8及其以后的计步类是 CMPedometer
首先说说iOS 7 、8及其以上,都要使用的方法
/**
* 是否支持计步器
*/
+ (BOOL)isStepCountingAvailable
类名来调用此方法,检测设备是否支持计步器功能,计步功能的开发需要依赖协处理器,所以要求设备必须是5s及其以上的机型。如果是4s,5,5c,需要另写方法,此篇支持的最低设备为5s。
现在说说iOS 7 实现方法。
/**
* 步数查询(最多支持7天)
*
* param start 开始采集的时间
* param end 结束采集的时间
* param queue 队列
* param handler 查询结果回调
*/
- (void)queryStepCountStartingFrom:(NSDate *)start
to:(NSDate *)end
toQueue:(NSOperationQueue *)queue
withHandler:(CMStepQueryHandler)handler
/**
* 队列步数计数更新处理
*
* param queue 队列
* param stepCounts 步数
* param handler 查询结果回调
*/
- (void)startStepCountingUpdatesToQueue:(NSOperationQueue *)queue
updateOn:(NSInteger)stepCounts
withHandler:(CMStepUpdateHandler)handler;
调用上述两种方法中的任意一种,handler回调中的 numberOfSteps 就是我们需要的步数,将此数值映射到你的数据上,展示出来的就是此时间段,我们一共行走的步数。所不同的是,第一个方法我们可以设置获取步数的时间段,而第二种方法,默认一天 (不过哪里不对,欢迎指出,共同进步)
/**
* 停止步数计数更新
*/
- (void)stopStepCountingUpdates;
/**
* 步数查询(最多支持7天)
*
* param start 开始采集的时间
* param end 结束采集的时间
* param handler 查询结果回调
*/
- (void)queryPedometerDataFromDate:(NSDate *)start
toDate:(NSDate *)end
withHandler:(CMPedometerHandler)handler;
/**
* 计数更新处理
*
* param start 开始时间
* param handler 查询结果回调
*/
- (void)startPedometerUpdatesFromDate:(NSDate *)start
withHandler:(CMPedometerHandler)handler;
/*
* 停止计数更新
*/
- (void)stopPedometerUpdates;
此方法依旧停止计步器
+ (BOOL)isDistanceAvailable;
+ (BOOL)isFloorCountingAvailable;
+ (BOOL)isPaceAvailable;
+ (BOOL)isCadenceAvailable;
- OC - iOS7、8及其以上计步器的简单使用
- ios7以上二维码的使用
- iOS7.0及以上图片转换成base64编码的方法(oc)
- ios7以上的二维码扫描
- ios7以上的二维码扫描
- OC block的简单使用
- OC-简单的使用BLOCK
- oc字符串的简单使用
- [iOS]毛玻璃在iOS8以上和iOS7以上的实现
- 【OC】IOS7中UITableView的变化
- OC自旋锁的简单使用
- OC正则表达式的简单使用
- 使用OC加载图片的两种方式及其区别
- 使用OC加载图片的两种方式及其区别
- IOS7的转场动画和CATransform3D简单使用
- ios7/8 alert and sheet(oc、swift)
- IOS7以上的UITableView顶部空白的问题
- oc block简单使用
- 2016夏季练习——二分
- java去处重复输出
- JqGrid有关操作 方法列表
- Java中throw和throws的区别
- Code First Migrations更新数据库结构(数据迁移)
- OC - iOS7、8及其以上计步器的简单使用
- 今天烧开发板 将u-boot烧到nandflash里去
- 关于android studio 导入library包的方法
- POJ 2955 括号匹配 Brackets (区间DP)
- 运维_office2016自定义安装
- 使用bower+angular+express创建webapp(一)一个简单的demo
- 机房收费系统(二)——上下机
- 机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)
- iOS Storyboard 模块划分