flutter healthの設定 - nozomu-miyauchi/walking-event-app GitHub Wiki
healthの公式サイト にSetUp方法が書かれているが、書き方がかなりざっくり(XCodeの設定について文字のみで軽く触れているのみ)なため、これの通りに設定したと思ってもビルドが通らない!!ということになる。 検索サイトで出てくるチュートリアル的な記事なども駆使して設定する必要があるが、実はこのhealth、破壊的変更が過去に入っており、記事を見つけたと思ってもこの変更の前のバージョンの時代に書かれてた記事ということも多々あり、正直、今はどういう流れで設定すれば使えるのかよくわからない状態になっている。
個人的にそこそこ参考にしたサイト
- https://zenn.dev/joo_hashi/articles/3a443923c7c172
- https://kazulog.fun/dev/mia-apple-healthkit-api-flutter/
<key>NSHealthShareUsageDescription</key>
<string>We will sync your data with the Apple Health app to give you better insights</string>
<key>NSHealthUpdateUsageDescription</key>
<string>We will sync your data with the Apple Health app to give you better insights</string>

調べてみた感じ、個人の端末に保存されたヘルスデータは、かなりパーソナルな部分の個人データであるため、ちゃんと使用用途を示す必要があるみたい。
XCodeを起動して、「Open Existing Project」を選択 プロジェクトフォルダの中の「ios」フォルダを選択した状態で「Open」ボタンを押下
以降、TARGET RUNNERについて各種設定を行う
「Frameworks, Libraries, and Embedded Content」にHealthKit.frameworkとHealthKitUI.frameworkを追加

HealthKitを追加
ios/Runner/RunnerProfile.entitlements
に、ここでの設定追加が反映されるはず
Signing > Code Signing ElementsのDebugとProfileにRunner/RunnerProfile.entitlements
を設定
これによって、「Signing & Capabilities Tab」に追加で設定した内容(healthkitを使うための設定)が反映される

シミュレータでアプリを起動するときは基本的にDebug ModeなのでDebugにも設定しないと、シミュレータで動作確認するときにhealth関連の処理がエラーになる
1, 2を実施した後に flutter run
などでビルドするとターゲットのiosが古くてエラーとなることがある。
エラーメッセージに「最低限これより上のバージョンじゃないと動かない」という情報があるので、それを元に各種設定を行う
Minimum Deploymentを設定
Xcodeの設定と同じバージョンをplatformに設定
- XCodeから直接ビルドが成功する
-
flutter run
によるビルドが成功する
上記ができていればOK