【Swift5】HealthKit 超入門−データ読み書き編−

前回の記事で HealthKit を扱う準備と予備知識をまとめたので、今回は実際にデータの読み書きをしていこうと思います!

この記事のゴールとしては、性別と血液型を読み込み、体重を書き込みたいと思います。

前提条件

・Xcode11.3
・Swift5
・ヘルスケアAppで自身のデータを設定済み

【2020年8月4日】Xcode11.6 で動作確認

データ使用の許可を得る

まずは HealthKit に対応しているデバイスか確認

iPad に関しては、最新の端末でも HealthKit に対応していないので、この確認は必須です。
もちろん import HealthKit はしといてください。

ヘルスケアデータのアクセス許可

性別と血液型を読み込み、体重を書き込むアクセス許可を得るためのコードを記載します。

こういった認証系の処理は viewDidLoad() で処理されることが多いですが、
上記コードを実行したら、下記のような Apple お手製の画面が立ち上がるので、viewDidAppear みたいに画面構築後に呼ばないとワーニングが表示されるのでご注意ください。

この画面で許可したらいよいよ取得です。(`・ω・´)+

データを読み込む

性別と血液型を取得してみます。
性別や血液型は単位なしの単一データなので、静的メソッドで取得できます。
前提条件でも書きましたが、ヘルスケアAppにデータが登録されているものとします。

データを書き込む

体重は単位ありの複数データなので、HKUnit/HKQuantity/HKQuantityType でデータを作成しないといけません。

2行目で「数字」と「単位」を指定して、3行目で「なんの数字か」を指定しています。
4行目でそれらをまとめたデータを作る → 書き込むって流れなので、流れは簡単です。

ただ、血圧や心拍数、酸素飽和度など、データの種類ごとにしっかり確認しないといけないので、慎重に作業しないといけないですね。

さいごに

今回はデータの読み書きをまとめました。
紐解きながらやってくと、そういうことね!ってなりますが、データの種類が多いと実装も大変になりそうですね。
欲を言えば、メソッドとか引数をもう少しまとめてほしいです。笑

コメント