flutter healthの設定 - nozomu-miyauchi/walking-event-app GitHub Wiki

最初に

healthの公式サイト にSetUp方法が書かれているが、書き方がかなりざっくり(XCodeの設定について文字のみで軽く触れているのみ)なため、これの通りに設定したと思ってもビルドが通らない!!ということになる。 検索サイトで出てくるチュートリアル的な記事なども駆使して設定する必要があるが、実はこのhealth、破壊的変更が過去に入っており、記事を見つけたと思ってもこの変更の前のバージョンの時代に書かれてた記事ということも多々あり、正直、今はどういう流れで設定すれば使えるのかよくわからない状態になっている。

個人的にそこそこ参考にしたサイト

iOS

1. Info.plistにentriesを追加

<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>
スクリーンショット 2025-06-11 14 41 18

調べてみた感じ、個人の端末に保存されたヘルスデータは、かなりパーソナルな部分の個人データであるため、ちゃんと使用用途を示す必要があるみたい。

2. XCodeに各種設定を行う

XCodeを起動して、「Open Existing Project」を選択 プロジェクトフォルダの中の「ios」フォルダを選択した状態で「Open」ボタンを押下

以降、TARGET RUNNERについて各種設定を行う

General Tab

「Frameworks, Libraries, and Embedded Content」にHealthKit.frameworkとHealthKitUI.frameworkを追加

スクリーンショット 2025-06-11 15 24 24

Signing & Capabilities Tab

HealthKitを追加 スクリーンショット 2025-06-11 14 41 53

ios/Runner/RunnerProfile.entitlementsに、ここでの設定追加が反映されるはず スクリーンショット 2025-06-11 14 40 54

Build Settings Tab

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

スクリーンショット 2025-06-11 14 42 47

シミュレータでアプリを起動するときは基本的にDebug ModeなのでDebugにも設定しないと、シミュレータで動作確認するときにhealth関連の処理がエラーになる

3. Target Versionの設定

1, 2を実施した後に flutter run などでビルドするとターゲットのiosが古くてエラーとなることがある。 エラーメッセージに「最低限これより上のバージョンじゃないと動かない」という情報があるので、それを元に各種設定を行う

XCode

Minimum Deploymentを設定 スクリーンショット 2025-06-11 15 40 09

Podfile

Xcodeの設定と同じバージョンをplatformに設定 スクリーンショット 2025-06-11 15 42 07

4. 動作確認

  • XCodeから直接ビルドが成功する
  • flutter runによるビルドが成功する

上記ができていればOK

Android

⚠️ **GitHub.com Fallback** ⚠️