美文网首页
iOS同步数据到苹果健康

iOS同步数据到苹果健康

作者: 拉布拉熊 | 来源:发表于2020-03-04 19:04 被阅读0次

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

    2.第二步:

    3.第三步:设置info.plist

    4.第四步

    #import <HealthKit/HealthKit.h>

    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同步数据到苹果健康

          本文链接:https://www.haomeiwen.com/subject/hlzblhtx.html