iOS同步数据到苹果健康

1.第一步:创建证书和profix文件支持HealthKit;

2.第二步:


3.第三步:设置info.plist


4.第四步

#import

5.第五步

-(HKHealthStore *)healthStore{     if (_healthStore == nil) {         _healthStore = [[HKHealthStore alloc] init];     }     return _healthStore; }

6.第六步

if ([HKHealthStore isHealthDataAvailable]){ HKQuantityType *heightType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierHeight]; NSSet *writeSet = [NSSet setWithObjects:heightType,nil]; [self.healthStore requestAuthorizationToShareTypes:writeSet readTypes:nil completion:^(BOOL success, NSError * _Nullable error) {                                //回调值success表明本次授权请求是否发送成功,而不是判断用户是允许OR不允许                 NSLog(@"---苹果健康:申请权限请求发送完毕:%d err:%@",success,error);                                  //Xcode提示当前在子线程,需回到主线程刷新UI    }];}

7.上传数据

/**  *  身高写入健康  *  */ - (void)writeToHealthAppSetHeight:(double)heightValue timeStamp:(NSInteger)interval{          if (HKVersion >= 8.0) {      

  if (heightValue <=0 || interval <0) {            

NSLog(@"身高写入健康:数据异常");          

  return;      

  }      

  NSDate         *now = [NSDate dateWithTimeIntervalSince1970:interval];    

    HKQuantityType *heightType = [HKQuantityType quantityTypeForIdentifier:HKQuantityTypeIdentifierHeight];  

      HKQuantity *heightQuantity = [HKQuantity quantityWithUnit:[HKUnit meterUnit] doubleValue:heightValue];         

        HKQuantitySample *heightSample = [HKQuantitySample quantitySampleWithType:heightType                                                                          quantity:heightQuantity                                                                         startDate:now                                                                           endDate:now];         if ([self.healthStore authorizationStatusForType:heightType] != HKAuthorizationStatusSharingAuthorized) {             NSLog(@"没有身高写入权限");             return;         }         [self.healthStore saveObject:heightSample withCompletion:^(BOOL success, NSError * _Nullable error) {             if (success) {                 NSLog(@"---苹果健康:写入身高成功");             }else {                 NSLog(@"---苹果健康:写入身高失败");             }         }];     } }

你可能感兴趣的:(iOS同步数据到苹果健康)