IOS -- 获取用户的健康数据的运动步数

最近在做和微信运动差不多的一个功能 就是从用户手机的健康里面获取用户的运动数据。。。

先在开发者中心 选择healthKit 重新生成证书
如图

然后在xcode里面选择
如图

然后就是配置健康数据的权限

到这环境算是配置好了
下来就是操作了

头文件

#import <CoreMotion/CoreMotion.h>

CMPedometer 健康数据操作的工具类 

//判断是否支持获取健康步数
[CMPedometer isStepCountingAvailable]

这个是苹果官方提供的获取某个时间段的健康数据的方法

参数一:指定的时间戳的范围 必须为负数 参数二:结束时间的时间戳

/*
 *  queryPedometerDataFromDate:toDate:withHandler:
 *
 *  Discussion:
 *      Queries for the user's pedestrian activity in the given time range. Data
 *      is available for up to 7 days. The data returned is computed from a
 *      system-wide history that is continuously being collected in the
 *      background. The result is returned on a serial queue.
 */
- (void)queryPedometerDataFromDate:(NSDate *)start
                            toDate:(NSDate *)end
                       withHandler:(CMPedometerHandler)handler;

//这个是方法的调用

if ([CMPedometer isStepCountingAvailable]) {
            //      NSLog(@"%f",[self dateCreat]);
            NSInteger number = [self dateCreat];
            NSLog(@"%ld",(long)number);
            [_pedometer queryPedometerDataFromDate:[NSDate dateWithTimeIntervalSinceNow:[self dateCreat]] toDate:[NSDate date] withHandler:^(CMPedometerData * _Nullable pedometerData, NSError * _Nullable error) {

                    NSLog(@"步数====%@",pedometerData.numberOfSteps);
                    NSLog(@"距离====%@",pedometerData.distance);
                    NSLog(@"开始时间====%@",pedometerData.startDate);
                }
            }];
        } else {
            NSLog(@"记步功能不可用");
        }

��������������������

猜你喜欢

转载自blog.csdn.net/goods_boy/article/details/78215956