我读过一些页面,您可以将自定义样本添加到HealthKit
中,以保存其他度量。
就我而言,我想将来自Apple Watch的加速度计数据添加到HealthKit
。
这是我的代码
func saveSample(data:Double, date:NSDate ) {
let dataType = HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.init(rawValue: "acc"))
let dataQuantity = HKQuantity(unit: HKUnit.init(from: "m/s^2"), doubleValue: data)
let dataSample = HKQuantitySample(type: dataType!, quantity: dataQuantity, start: date as Date, end: date as Date)
healthKitStore.save(dataSample, withCompletion: { (success, error) -> Void in
if( error != nil ) {
print("Error saving sample:")
} else {
print("Sample saved successfully!")
}
})
}
我想添加一个单位为“m / s ^ 2”的示例,称为“acc”(在正常情况下,此示例为“bloodPreasure”)。
我在dataType上得到nil,所以在
Error
行上得到了这个let dataSample = HKQuantitySample(type: dataType!, quantity: dataQuantity, start: date as Date, end: date as Date)
,因为dataType是nil。致命错误:解开Optional值时意外发现nil
有什么想法,如何实现呢?谢谢大家!
最佳答案
我相信HKQuantityType.quantityType(forIdentifier:
我们需要提供苹果提供的标识符,例如HKQuantityTypeIdentifier.bodyTemperature
。然后只有它会返回一个quantityType对象。
因此,您在dataType
中得到零。
而且我相信我们无法创建新的HKQuantityType,因为健康商店也必须保存它,并且该部分不在我们的控制范围内。
关于ios - 创建新的HKQuantityType,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41238791/