2016-12-20 6 views
1

いくつかのページで、別の測定値を保存するためにカスタムサンプルをHealthKitに追加することができます。新しいHKQuantityTypeを作成する

私のケースでは、アップルウォッチの加速度計データをHealthKitに追加したいと考えています。

これは、私がユニット「M/S^2」で(通常の場合にはその一例が「bloodPreasure」かもしれない)「ACC」というサンプルを追加したい私のコード

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!") 
     } 
    }) 
} 

です。

データ型にnilがあるので、をlet dataSample = HKQuantitySample(type: dataType!, quantity: dataQuantity, start: date as Date, end: date as Date)行にします。これは、dataTypeがnilであるためです。

fatal error: unexpectedly found nil while unwrapping an Optional value

これはどのように実装するのですか?皆さんありがとう!

+0

私はdataTypeでnilを取得していて、なぜ私はそれを作成したときに何か間違っているとは思わないので、エラーが発生します。 'let dataSample = HKQuantitySample(type:dataType !,タイプ: – ainovela

+0

として無制限の値を入力したため、新しいタイプを作成するにはどうすればよいですか? – ainovela

+0

はい、それは私が望むものです。あなたはiosによって提供されるものとは異なる新しいものを作成する方法を知っていますか? – ainovela

答えて

0

私はHKQuantityType.quantityType(forIdentifier:と考えています。リンゴによって提供される識別子をHKQuantityTypeIdentifier.bodyTemperatureのように指定する必要があります。そして、それはquantityTypeのオブジェクトを返すだけです。

dataTypeには何も表示されません。

健康管理店も保存しなければならないので、私たちは新しいHKQuantityTypeを作成できないと思います。その部分は私たちの管理下にありません。

関連する問題