Ios 创建新的HKQuantityType

Ios 创建新的HKQuantityType,ios,swift,healthkit,watchos,Ios,Swift,Healthkit,Watchos,我在一些页面上读到,您可以将自定义样本添加到HealthKit,以便保存其他测量值 在我的例子中,我想将apple watch的加速计数据添加到HealthKit 这是我的密码 func saveSample(data:Double, date:NSDate ) { let dataType = HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.init(rawValue: "acc")) le

我在一些页面上读到,您可以将自定义样本添加到
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!")
        }
    })
}
我想添加一个名为“acc”的示例(在正常情况下,其中一个示例可能是“BloodPreAssure”),单位为“m/s^2”

我在数据类型上得到nil,因此在
let dataSample=HKQuantitySample(类型:dataType!,数量:dataQuantity,开始:日期为日期,结束:日期为日期)上得到这个
错误
,因为数据类型是nil

致命错误:在展开可选值时意外发现nil


有什么想法,如何实施?谢谢大家

我相信对于
HKQuantityType.quantityType(forIdentifier:
我们需要提供apple提供的标识符,如
HKQuantityTypeIdentifier.bodyTemperature
。然后只有它才会返回quantityType对象

因此,您在
数据类型中得到的是零


我相信我们不能创建新的HKQuantityType,因为health store也必须保存它,而这部分不在我们的控制范围内。

错误是因为我在数据类型中得到了零,我不知道为什么,可能是我在创建它时出错了。.我在'let dataSample=HKQuantitySample'中得到了错误(类型:dataType!,数量:dataQuantity,开始:日期为日期,结束:日期为日期)”因为我输入了一个空值作为类型,我如何创建新类型?是的,这就是我想要的。你知道如何为ios提供的类型创建一个不同的新类型吗?好的,谢谢!