Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

loirou/HealthStep

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

HealthStep

CMStepCounter获取健康数据今天的步数

  __weak ViewController *weakSelf = self;
self.operationQueue = [[NSOperationQueue alloc] init];

NSCalendar *calendar = [NSCalendar currentCalendar];
NSDate *now = [NSDate date];
NSDateComponents *components = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:now];
// 开始日期
NSDate *startDate = [calendar dateFromComponents:components];
// 结束日期
NSDate *endDate = [calendar dateByAddingUnit:NSCalendarUnitDay value:1 toDate:startDate options:0];

  if ([CMStepCounter isStepCountingAvailable]) {
    [self.stepCounter  queryStepCountStartingFrom:startDate to:endDate toQueue:self.operationQueue withHandler:^(NSInteger numberOfSteps, NSError * _Nullable error) {
        NSLog(@"%ld",numberOfSteps);
        dispatch_async(dispatch_get_main_queue(), ^{
            if (error) {
                UIAlertView *error = [[UIAlertView alloc] initWithTitle:@"Opps!" message:@"error" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
                [error show];
            }
            else {
                weakSelf.totalLabel.text = [NSString stringWithFormat:@"今日总步数%ld",numberOfSteps];
            }
        });
    }];
}

查询当前步数

  if ([CMStepCounter isStepCountingAvailable]) {
    self.stepCounter = [[CMStepCounter alloc] init];
    [self.stepCounter startStepCountingUpdatesToQueue:self.operationQueue
                                             updateOn:1
                                          withHandler:
     ^(NSInteger numberOfSteps, NSDate *timestamp, NSError *error) {
         
         dispatch_async(dispatch_get_main_queue(), ^{
             
             if (error) {
                 UIAlertView *error = [[UIAlertView alloc] initWithTitle:@"Opps!" message:@"error" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
                 [error show];
             }
             else {
                 
                 NSString *text = [NSString stringWithFormat:@"当前步数: %ld", (long)numberOfSteps];
                 //这里是步数
                 weakSelf.stepsLabel.text = text;
             }
         });
     }];
}

获取运动状态

  if ([CMMotionActivityManager isActivityAvailable]) {
    self.activityManager = [[CMMotionActivityManager alloc] init];
    [self.activityManager startActivityUpdatesToQueue:self.operationQueue
                                          withHandler:
     ^(CMMotionActivity *activity) {
         
         dispatch_async(dispatch_get_main_queue(), ^{
             
             NSString *status = [weakSelf statusForActivity:activity];
             NSString *confidence = [weakSelf stringFromConfidence:activity.confidence];
             
             weakSelf.statusLabel.text = [NSString stringWithFormat:@"状态: %@", status];
             weakSelf.confidenceLabel.text = [NSString stringWithFormat:@"速度: %@", confidence];
         });
     }];
}

About

CMStepCounter获取健康步数

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
Morty Proxy This is a proxified and sanitized view of the page, visit original site.