HKHealthStore没有增加正确的Diet Energy价值

时间:2016-06-23 11:30:49

标签: ios health-kit

我正在尝试将用户的卡路里消耗量添加到Apple健康套件应用中。但是当它被添加到健康应用程序时,该值将被除以千分之一。这是我添加到健康工具包的代码。

NSDictionary *calorieData = @{@"Unit": [HKUnit kilocalorieUnit], @"Identifier":HKQuantityTypeIdentifierDietaryEnergyConsumed};

HKQuantity *quantity = [HKQuantity quantityWithUnit:[HKUnit kilocalorieUnit] doubleValue:123];
NSDate *now = [NSDate date];
HKQuantityType *quantityType = [HKQuantityType quantityTypeForIdentifier:HKQuantityTypeIdentifierDietaryEnergyConsumed];
HKQuantitySample *sample = [HKQuantitySample quantitySampleWithType:quantityType quantity:quantity startDate:now endDate:now metadata:metaData];

[[self healthStore] saveObject:sample withCompletion:^(BOOL success, NSError *error) {

    if (success)
        NSLog(@"Added");

}];

我在健康套装中添加了123千卡的热量。添加后,它在健康应用程序中显示为123 Cal。 当我从HealthKit中检索时,它将以123千卡为单位。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

资本“C”的卡路里相当于千卡。来自Wikipedia

  

小卡路里或克卡路里(符号:cal)是近似值   提高一克水温度所需的能量   在一个大气压的压力下摄氏1度。

     

大卡路里或千卡热量(符号:Cal),也称为食物   卡路里和类似名称,以千克为单位   而不是克。它等于1000小卡路里,1   千卡(符号:kcal)。