我们正在创建一个应用程序,用于收集Health应用程序中列表不支持的特殊类型的数据。有没有办法为此创建一个新类别?
答案 0 :(得分:9)
不,目前还没有。来自HealthKit Framework Reference:
HealthKit框架旨在以有意义的方式在应用程序之间共享数据。为此,框架将数据和单元的类型约束到预定义列表。这些限制可确保其他应用程序了解数据的含义以及数据的使用方式。 因此,开发人员无法创建自定义数据类型或单元。相反,HealthKit尝试提供相当完整的数据类型和单位列表。
如果我是你,我会提交一份雷达(http://bugreport.apple.com),详细说明您希望添加的健康数据类型。
答案 1 :(得分:6)
是的,你可以。只需将其定义为NSDictionary
并将其传递到元数据字段即可。请注意以下自定义字段:push_ups
,sit_ups
和status
。
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])