ハイノDiary

プログラミングのことや読書記録、日々の日記などを書いていきます。

【iOS】HealthKit Frameworkについて

はじめに

今回はiOSのヘルスケアについて調べた内容を備忘録として記載しました。
これはまた使用したときに改めて書き直したいですね。

HealthKit Frameworkとは?

iOSアプリのヘルスケアのデータをアプリ間で共有するためのフレームワーク
データとユニットのタイプを事前定義されたリストに制限し、すべてのアプリがデータの意味と使用方法を理解できるようにする。
つまり、洋視されたデータタイプまたはユニットしか共有できない。

HealthKitデータの種類

特性データ

  • ユーザーの誕生日:dateOfBirth()、血液型:bloodType()、生物学的性別:biologicalSex()、肌のタイプ:fitzpatrickSkinType()など、通常は変化しないアイテムを表す。
  • このデータを使用するアプリはHealthKitストアから特性データを読み取れるが保存はできない。
  • ヘルスケアアプリを使用してデータの入力または変更をする。

サンプルデータ

  • ユーザーの健康データのほとんどは、特定の時点のデータを表すサンプルに保存される。
  • すべてのサンプルクラスは、HKSampleクラスのサブクラスであるHKObjectクラスのサブクラス。

レーニングデータ

  • フィットネスや運動に関する情報はHKWorkoutサンプルとして保存される。
  • オブジェクトは、サンプルを保存したアプリやデバイスに関する情報が含まれる。

ソースデータ

  • 各サンプルには、そのソースに関する情報が格納される。

削除されたオブジェクト

  • インスタンスが一時的HealthKitストアから削除されたアイテムのUUIDを格納するために使用される。
  • 削除されたオブジェクトを使用して、ユーザーまたは別のアプリによってオブジェクトが削除されたときに応答できる。

オブジェクトとサンプルのプロパティ

このHKObjectクラスは、すべてのHealthKitサンプルタイプのスーパークラスで、すべてのHKObjectサブクラスは不変。各オブジェクトには次のプロパティがある。

UUID

  • その特定のエントリの一意の識別子。

メタデータ

  • エントリに関する追加情報を含むディレクトリ 。
  • 事前定義キーとカスタムキーの両方を含めることができる。
    • 事前定義キーにより、アプリ間のデータ共有が容易になる。
    • カスタムキーにより、特定のHealthKitオブジェクトタイプを拡張し、アプリ固有のデータをエントリに追加する。

ソースリビジョン

  • データをHealthKitに直接保存するデバイス、またはアプリ。
  • HealthKitは、オブジェクトがHealthKitストアに保存されるときに、各オブジェクトのソースとバージョンを自動的に記録する。
  • このプロパティは、ストアから取得したオブジェクトでのみ使用できる。

端末

  • このサンプルに格納されているデータを生成したハードウェアデバイス

タイプ

  • 睡眠分析サンプル、身長サンプル、歩数サンプルなどのサンプルタイプ。

開始日

  • サンプルの開始時間。

終了日

  • サンプルの終了時間。
  • サンプルが単一の時点を表す場合、終了時刻は開始時刻と等しくなければならない。
  • サンプルが時間間隔で収集されたデータを表す場合、終了時刻は開始時刻の後に発生する必要がある。

カテゴリーサンプル

  • 有限のカテゴリセットに分類できるデータ。
    • HKCategorySample

数量サンプル

  • 数値として保存できるデータ。

相関

  • 1つ以上のサンプルを含む複合データ。

レーニン

  • ランニング、水泳、遊びなどの身体活動を表すデータ。
  • 多くの場合、ワークアウトにはタイプ、持続時間、距離、およびエネルギー消費特性がある。
  • ワークアウトを多数の細かいサンプルに関連付けることもできる。

おわりに

昨日このブログでも書いたようにブログを活用するために、細かなことでもまとめとしてここに記していきます。

さいごに、間違いなどがございましたら是非とも教えてください。

参照