是否可以向HealthKit添加自定义数据?

时间:2014-10-06 19:05:32

标签: ios iphone ipad ios8 health-kit

我们正在创建一个应用程序,用于收集Health应用程序中列表不支持的特殊类型的数据。有没有办法为此创建一个新类别?

2 个答案:

答案 0 :(得分:9)

不,目前还没有。来自HealthKit Framework Reference

  

HealthKit框架旨在以有意义的方式在应用程序之间共享数据。为此,框架将数据和单元的类型约束到预定义列表。这些限制可确保其他应用程序了解数据的含义以及数据的使用方式。 因此,开发人员无法创建自定义数据类型或单元。相反,HealthKit尝试提供相当完整的数据类型和单位列表。

如果我是你,我会提交一份雷达(http://bugreport.apple.com),详细说明您希望添加的健康数据类型。

答案 1 :(得分:6)

是的,你可以。只需将其定义为NSDictionary并将其传递到元数据字段即可。请注意以下自定义字段:push_upssit_upsstatus

let end = NSDate()
let start = NSCalendar.currentCalendar().dateByAddingUnit(.CalendarUnitMinute,
    value: -2, toDate: end, options: nil)

let energyBurned = HKQuantity(unit: HKUnit.kilocalorieUnit(),
    doubleValue: 425.0)

let distance = HKQuantity(unit: HKUnit.mileUnit(),
    doubleValue: 0)

let status = "felt okay...could have done more"
let push_ups = 40
let sit_ups = 50

let s = ["push_ups": push_ups,
    "sit_ups": sit_ups,
    "notes": status
    ] as NSDictionary

// Provide summary information when creating the workout.
let wrkOut = HKWorkout(activityType: HKWorkoutActivityType.FunctionalStrengthTraining,
    startDate: start, endDate: end, duration: 0,
    totalEnergyBurned: energyBurned, totalDistance: distance, metadata: s as! [NSObject : AnyObject])