2014-10-06 68 views

回答

7

不,现在没有。从HealthKit Framework Reference

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

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

4

是的,你可以。只需将其定义为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]) 
+0

它在技术上是元数据 - 与其他观察收集系统(具有不同的扩展机制)不同,元数据不用于存储可编码值。这可能或可能不重要。 – user2864740 2016-03-04 00:51:14

+1

因此,使用这种方法还可以将数据存储在HealthStore中,并将它作为图形中的自定义HKUnit显示在Apple Health应用程序中? – tymac 2016-08-12 02:05:53

相关问题