在没有Apple Watch的iOS上,如何收集锻炼所需的totalEnergyBurned?

时间:2019-10-13 16:46:38

标签: ios objective-c healthkit

在不使用任何Apple Watch的情况下将锻炼保存到iOS健康商店时,应用应如何计算totalEnergyBurned?

Apple的示例应用程序对totalEnergyBurned使用了硬编码的值,但是说一个实际的应用程序将根据传感器数据计算该值。

HKQuantity *energyBurned = [HKQuantity quantityWithUnit:[HKUnit kilocalorieUnit] doubleValue:425.0];

HKQuantity *distance = [HKQuantity quantityWithUnit:[HKUnit mileUnit] doubleValue:3.2];

HKWorkout *run = [HKWorkout workoutWithActivityType:HKWorkoutActivityTypeRunning
                                          startDate:start
                                            endDate:end
                                           duration:0
                                  totalEnergyBurned:energyBurned
                                      totalDistance:distance
                                           metadata:nil];

[self.healthStore saveObject:run withCompletion:^(BOOL success, NSError *error) {
}];

谢谢

1 个答案:

答案 0 :(得分:0)

除非您拥有Apple Watch,否则Apple无法为您提供开箱即用的方式。

Strava和Nike Run等应用会根据以下因素计算消耗的卡路里:

  • 性别
  • 体重
  • 跑步距离
  • 运行时间

您可以在Google或什至在Stack Exchange网络上的其他地方查找公式:https://fitness.stackexchange.com/questions/15608/energy-expenditure-calories-burned-equation-for-running,进而可以链接到网络上的优质资源