【iOS】HealthKitを用いたデータ保存・取得前のセットアップ手順
はじめに
HealthKitを用いてヘルスケアデータを保存・取得の実装をする前に、セットアップが必要になります。今回はセットアップに関しての記事を作成します。
HealthKitとは
HealthKitとは、Appleが開発したiOSデバイス向けのフレームワークで、ヘルスケアとフィットネスのデータを統合して管理するためのプラットフォームです。HealthKitを使用することで、ユーザーは様々な健康データを複数のデバイスで一元管理できます。例えば、身長・体重・歩幅・睡眠etcの身体にまつわるデータを管理できます。
HealthKitは、ユーザのヘルスデータを1つのリポジトリにまとめる枠組みです。ヘルスデータの読み書きができ、データはすべて安全に格納され、デバイス間で同期されます。
HealthKitのセットアップ
HealthKitを用いるためには必要な工程が3ステップあります。
- プロジェクト内でHealthKit機能を有効にする
- プラットフォームがHealthKitに対応しているか確認をする
- HKHealthStoreを作成する
- アクセス権限をリクエストする
1. プロジェクト内でHealthKit機能を有効にする
まず最初にプロジェクトを立ち上げ、プロジェクト内にHealthkitを導入するために以下の手順を行います。
- Targetのプロジェクト名を選択
- Capabilityを選択
- HealthKitを追加
2. プラットフォームがHealthKitに対応しているか確認をする
1つのアプリを複数のデバイスで起動させることがあります。ですが、その際にアプリを起動したデバイスがHealthKitに対応していない場合があるため、対応しているか確認をする必要があります。
3. HKHealthStoreを作成する
HKHealthStore
がヘルスケアデータに接続する入口となる部分です。HKHealthStore
を用いることによって、以下の項目を可能にします。
- ユーザーのヘルスデータへのアクセス許可を求める
- クエリを使ってデータの読み書きができる
- 一度インスタンス生成すれば、アプリ内で
HKHealthStore
を使用できる
HealthKitを用いる上で、HealthKitで用いられているデータ型・関係性を理解する必要があります。このあたりを理解されていない方は、以下リンクを一読いただきたいです。
4.アクセス権限をリクエストする
ヘルスデータにアクセスするにはユーザー認証が必要になります。ユーザー認証には必要なヘルスケアデータの種類を指定して、アクセス権限を要求します。アクセス権限は、「読み込み」と「書き込み」に分かれており、権限の許可が必要になります。アプリを使用する上で、権限の許可が必要であることを説明しなければなりません。アクセス許可を求めると、HealthKitの権限の設定するViewが表示されます。
info.plistでKeyを2つ定義する必要があります。
-
Privacy - Health Update Usage Description
NSHealthUpdateUsageDescription
-
Privacy - Health Share Usage Description
NSHealthShareUsageDescription
下画像の上赤枠が書き込み権限について、下赤枠が読み込み権限について記載が反映されます。
権限情報の管理はHealthKit内に保存されており、ユーザ-はアプリケーション外で権限情報を変更できます。
取得したいデータタイプを指定して、HealthKitStore
にアクセス権限を要求します。アクセス権限を要求するには、requestAuthorization(toShare:read:)
を呼び出します。
SwiftUIの場合は、healthDataAccessRequest(store:shareTypes:readTypes:trigger:completion:)
を用いることができます。
以上により、データ保存・取得を実施するためのセットアップは完了です。
最後に
上記の手続きなしではHealthKitを用いたデータの保存・取得を実施できないため、今回別記事として書き記しました。
間違い・気になる部分がありましたら、コメントいただけると大変うれしいです。
良かったと思ったら、記事へのいいね・Xのフォローよろしくお願いいたします。
個人でアプリを作成しています。良かったら覗いてみてください。
Discussion