Xamarin.iOSでヘルスケアと連携

プロビジョニングプロファイルで、HealthKitを有効にしてヘルスケアデータを読み込んだり書き込んだりしようと思い。

血圧でつまづいたのでメモ。

1.プロビジョニングプロファイルで、HealthKitを有効にする。

↓を参考に

https://docs.microsoft.com/ja-jp/xamarin/ios/platform/healthkit

2.血圧を読み/書きする。

①最高血圧と最低血圧のアクセス権を取得する

参考サイトの通りだが、HKQuantityTypeIdentifier.BloodPressureDiastolicとHKQuantityTypeIdentifier.BloodPressureSystolicを指定する。

②データ取得

ヘルスケアの変更を監視するので、HKObserverQueryで監視して、

通知が来たら、HKAnchoredObjectQueryで差分取得する。

HKCorrelationに最高血圧と最低血圧のコレクションが返ってくるので、QuantityTypeを見てデータとる。

※newAnchorはアプリで覚えておき、次からは指定すると差分でとれる。Anchorはヘルスケアのデータを消しても初期化されないっぽい。

※NSDate⇔DateTimeは↓を参考にした。

https://qiita.com/amay077/items/e6a53081c776a127b41e

④データ書き込み

HKCorrelationに最低血圧・最高血圧のHKQuantitySampleを詰めて書き込む。

登録できた。

が、なぜか個別で登録したデータが消せない。。(´^`)

範囲指定?みたいなことになっている感じだなぁ。ヘルスケア側いじったんだっけかなぁ。。

参考サイト

https://stackoverflow.com/questions/25642949/for-ios-healthkit-how-to-save-systolic-and-diastolic-blood-pressure-values

%d人のブロガーが「いいね」をつけました。