2016-06-23 73 views
1

我正在嘗試將用戶的卡路里消耗添加到Apple健康工具包應用程序。但是,當它被添加到健康應用程序中時,它的價值會被分成千分之一。這裏是我添加到健康工具包的代碼。HKHealthStore沒有添加正確的飲食能量值通過

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千卡。

任何幫助將不勝感激!

回答

0

大寫「C」的卡路里相當於千卡。從Wikipedia

小熱量或克卡(符號:CAL)是由一攝氏度在一個大氣壓的壓力下,以提高水 一克溫度所需的近似 的能量。

大卡路里或卡路里熱量(符號:Cal),也被稱爲食物熱量和類似名稱,以千克 而不是克定義。它等於1000卡路里,1 千卡(符號:千卡)。

+0

謝謝您的信息。 – Leslie