iOS 计步器的实现
来源:互联网 发布:mac启动盘重装系统 编辑:程序博客网 时间:2024/06/05 12:45
在iOS 使用CMStepCounter实现计步器功能。需要注意的是:需要iPhone5S及以上型号的手机和iOS7.0及以上的操作系统
首先了解一下API:
步数计数可用性
+ isStepCountingAvailable
开始和停止更新步数计数
– startStepCountingUpdatesToQueue:updateOn:withHandler:
– stopStepCountingUpdates
获取历史步数计数数据
– queryStepCountStartingFrom:to:toQueue:withHandler:
+ (void)getStepCounter:(void (^)(NSString * totalStep))step
{
__blockNSInteger stepNumber = 0;
if (![CMStepCounterisStepCountingAvailable]) {
UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"警告"message:@"只支持iPhone5S及以上型号的手机"delegate:nilcancelButtonTitle:@"OK"otherButtonTitles:nil];
[alert show];
}
NSDate* nowDate = [NSDatedate];
NSDateFormatter *dateFormatter = [[NSDateFormatteralloc] init];
[dateFormatter setDateFormat:@"HH:mm:ss"];
NSArray *stringArray = [[dateFormatterstringFromDate:nowDate] componentsSeparatedByString:@":"];
NSTimeInterval oneDay = [[stringArrayobjectAtIndex:0]integerValue] *3600 + [[stringArrayobjectAtIndex:1]integerValue] *60 + [[stringArrayobjectAtIndex:2]integerValue] ;
//获取指定时间段之前
NSDate* theDate = [nowDateinitWithTimeIntervalSinceNow: -oneDay];
NSOperationQueue * operationQueue = [[NSOperationQueuealloc] init];
CMStepCounter * stepCounter = [[CMStepCounteralloc] init];
//获取今天的步数
[stepCounter queryStepCountStartingFrom:theDateto:nowDate toQueue:operationQueuewithHandler:^(NSInteger numberOfSteps,NSError * _Nullable error) {
if (error) {
//暂时没有处理
}
else {
stepNumber = numberOfSteps;
}
}];
//开始计步
[stepCounter startStepCountingUpdatesToQueue:operationQueueupdateOn:1withHandler: ^(NSInteger numberOfSteps,NSDate *timestamp, NSError *error) {
if (error) {
//暂时没有处理
}
else {
step([NSStringstringWithFormat:@"%zd", stepNumber + numberOfSteps]);
}
}];
}
参考文献:http://www.tuicool.com/articles/MNfu63 http://blog.csdn.net/u011010305/article/details/48932235- iOS 计步器的实现
- ios的push实现
- iOS 摇一摇的实现
- iOS 摇一摇的实现
- iOS登陆的实现
- ios摇一摇的实现
- ios摇一摇的实现
- IOS二维码的实现
- ios摇一摇的实现
- IOS二维码的实现
- CALayerDelegate的实现(IOS)
- iOS轮播图的实现
- IOS计算器的实现
- iOS单列的实现
- iOS通知的实现
- iOS scrollview的实现
- iOS倒计时的实现
- IOS单选框的实现
- Android之 学习路线
- plupload上传fileuploaded方法不执行
- linux的PAM认证和shadow文件中密码的加密方式
- Fio 输出内容的解释
- CocoaPods一个Objective-C第三方库的管理利器
- iOS 计步器的实现
- java代码动态设置控件的颜色
- xml,json,http,socket的区别
- POJ 1305 Fermat vs. Pythagoras (本原勾股数组)
- IntelliJ IDEA 15激活
- 查询mysql事务隔离级别
- asp.net生成N组指定位数随机数都一样的解决办法
- IOS动画相关
- JBoss中的HTTP GZIP压缩