← すべての記事

5秒ごとの心拍数——HealthKitアプリに何が変わるのか

新しいApple Watchのセンサーは、HealthKitアプリに何をもたらすのでしょうか。 Apple Watch Series 12とApple Watch Ultra 4は「1日中、5秒ごとに心拍数を測定」し、心拍変動(HRV)は「最短5分ごと」に測定します。Appleはこれを「24倍の頻度」と表現しています。2 ただしAppleのリリースが述べているのはウォッチが何を測定するかであって、HealthKitに何を書き込むかではありません。ドキュメントのインデックスにreadinessの型は存在せず、新しいHRVの型が1つ、heartRateVariabilityRMSSDが加わっているだけです。8 Appleの2024年のホワイトペーパーによれば、従来のバックグラウンドの測定頻度は静止時に5分に1回の試行でした。したがってHealthKitに届くバックグラウンドの数量は、サンプル数の増加としてであれ、より長いシリーズとしてであれ、桁違いに増える可能性があると想定し、実機を丸1日装着したうえで実際の記録密度を計測してください。11

Appleは2026年9月9日に2つのウォッチを発表しました。どちらも新しい光学式・電気式の心拍センサーからなるHealth Sensing Systemを搭載しています。13 消費者向けの物語はreadinessです。開発者向けの物語は密度であり、それを見積もるための数字をAppleは2つ示しました。

TL;DR: 5秒ごとの心拍数は、すべてが保持されるなら1日17,280件の測定値になります。最短5分ごとのHRVは1日最大288件です。従来のベースラインはAppleの2024年ホワイトペーパーにあります。バックグラウンドの心拍数は静止時に5分に1回の試行、ワークアウトの測定値は5秒ウィンドウごとに1件を公開、HRVのタコグラムは既定で4時間ごと、不規則な心拍の通知を有効にすると2時間ごと、AFib Historyを有効にすると15分ごとです。つまりAppleの「24倍」は2時間のベースラインを指していることになりますが、比較対象の設定をApple自身は明示していません。211 名目上、終日の心拍数の測定頻度は従来のバックグラウンド試行の60倍です。そのうちどれだけがHealthKitに届くのかは未公開で、readinessにはHealthKitの型がなく、2つ目のHRV識別子heartRateVariabilityRMSSDが説明のないまま登場しました。8 anchored query、statistics collection、そして保存前の集約へ今のうちに移行し、Series 12を丸1日装着したあとに実測してください。56

Appleが述べたこと、原文どおりに

Apple Watch Series 12 case back in the keynote, engraved 46mm aluminum case, WR-50M, glass ceramic, GPS and Cellular, with the green optical sensor lit

Appleの2026年9月9日のイベント配信、午前10時37分(PT)のフレーム。光学式心拍センサーが点灯したSeries 12の裏蓋。5秒ごとの測定頻度をもたらしたとAppleが説明しているのが、この大型化したグリーンLEDです。

今回の変化を担う主張は3つあり、要約するよりも引用する価値があります。

心拍数について。「光学式心拍センサーの、より大型で電力効率に優れたグリーンLEDにより、Apple Watch Series 12とApple Watch Ultra 4は1日中、5秒ごとに心拍数を測定するようになりました。この継続的で受動的な測定は、ユーザーのフィットネスと生理的状態についてより深い洞察をもたらし、ExerciseとMoveのActivityリングの精度をさらに高めます」2

HRVについて、ヘルス関連のリリースはHRVが「最短5分ごとに測定されるようになった」と述べ、これを「24倍の頻度」と呼び、「Heart Rate Appの新しいセクションで確認できる」としています。ハードウェアのリリースでは「最大24倍の頻度」という表現です。123 さらにSeries 12のリリースから。「Apple Watchは、ユーザーの健康状態をより深く理解できるよう、HRVの2つの異なるバリアントを提供します。Recovery HRVは日々のストレスと回復のシグナルを捉えるのに最適で、overall HRVは心血管の健康を含む、より広い健康状態への洞察に最適です」1

readinessについて。ヘルス関連のリリースは「ユーザーの直近のアクティビティ、バイタル、睡眠スコアを分析し、0〜10のスコアを1日1回、明確で実行可能な推奨——Recover、Pace Yourself、Ready、Go For It——とともに示す新機能」と説明しています。2 2つのハードウェアリリースは4つ目の入力としてトレーニング負荷を挙げていますが、ヘルス関連のリリースはそれに触れていません。13

ウォッチの発売は9月18日(金)、watchOS 27はSeries 9以降、SE 3、Ultra 2以降に9月14日(月)に配信されます。3

従来の測定頻度はどうだったか

Appleの心拍数に関するサポートページは、Series 1以降のすべてのApple Watchのバックグラウンド動作を1文で説明しています。「静止しているときは1日を通して、歩いているときは定期的に」心拍数を測定し、ワークアウト中とその後3分間は継続的に測定する、というものです。4 間隔そのものを公開しているのは、Appleの心拍数ホワイトペーパーのほうです。バックグラウンドのアルゴリズムは「ユーザーが静止しているときにのみ測定値を報告します。5分ごとに1件の心拍数(bpm)の報告を試みます」とあり、上限も正確に記されています。「重複しない5分のウィンドウごとに、Apple Watchは1件のバックグラウンド心拍数をHealthKitに公開しようと試みます。ただし、その可否は信号品質とユーザーの動きに左右されます」。ワークアウトおよびユーザー起動時のアルゴリズムは、すでに新しい頻度で動いていました。「重複しない5秒のウィンドウごとに、アルゴリズムは最も品質の高い心拍数測定値を1件選び、表示およびHealthKitへの公開を行います」11 つまりバックグラウンドのアルゴリズムの上限は1日288回の試行で、そのそれぞれが静止と信号品質を条件としていました。信号品質が許せば「HealthKitに公開される」とホワイトペーパーが述べる歩行時のスポットチェックや、Heart Rate Appでの測定がそこに加わり、ワークアウトのストリームはすでに5秒間隔でした。11 HRVについて、ホワイトペーパーは具体的です。「タコグラムの既定の測定頻度は4時間ごとで、ユーザーが不規則な心拍の通知またはAFib Historyを有効にすると、それぞれ2時間ごと、15分ごとに増えます」11 Appleの「24倍の頻度」を「5分ごと」に当てはめると2時間になるため、暗に示された2時間のベースラインは不規則な心拍の通知の頻度と一致します。ただしApple自身は比較対象の設定を明示していません。私自身のSDNNのストリームは1日に数件、しかもほとんどが夜間で、4時間という既定値に近い水準です。2

つまり今回の変化は、その大半が新しいAPIではありません。同じheartRateとheartRateVariabilitySDNNの型が、桁違いに多いサンプルを運ぶ可能性がある、という話です。そこに新しい型が1つ、heartRateVariabilityRMSSDが加わります。8 ワークアウトゾーンとリプロダクティブヘルスの追加についてはiOS 27のHealthKit記事で扱っています。

HealthKitに何が届くのかが未解決の問い

Appleのリリースが語っているのは測定です。9月9日時点では、リリースにもiOS 27のSDKドキュメントにも、5秒ごとの測定値がすべてHKQuantitySampleになるのか、それともウォッチが書き込み前に集約するのかは書かれていません。heartRateのページには「サンプルデータはHealthKitによって圧縮または統合される場合があります」という恒常的な注意書きがあり、そこからリンクされた記事は対象を「数か月以上前の」ファーストパーティのワークアウトに限定しています。そこではHealthKitが「同じ値を持ち、時間的に近接して発生した数量」を1つの区間数量へ統合します。これも、サンプルではなく統計値を読むべき理由の1つです。8 24時間分のカウントはその影響を受けませんが、数か月前のファーストパーティのワークアウトのサンプル数は影響を受けます。具体的な未知数は3つあります。

  1. サンプルの密度。 従来のウォッチもすでに、ワークアウト中の心拍数をおよそ5秒に1サンプルの割合で書き込んでいます。私自身のWatchは53分のランで639件、70分のランで870件の心拍数サンプルを記録しました。バックグラウンドの心拍数は、静止時に5分のウィンドウごとに最大1件、これに歩行時のスポットチェックが加わる形でした。11 新しいのは、ワークアウト外での5秒ごとという頻度です。Series 12が測定頻度のまま終日書き込むなら、計算上はユーザー1人あたり24時間で17,280件の心拍数数量になります。1つのサンプルがシリーズを保持できるため、HKQuantitySampleオブジェクトの数はこれとは異なる可能性があります。12 逆に、バックグラウンドの書き込みは従来の頻度のままで、5秒ごとのデータは自社アルゴリズム用に保持するのであれば、あなたにとって変わることは何もありません。答えを出せるのは実機だけです。
  2. HRVの2つのバリアント。 HealthKitはこれまでHRVの識別子を1つ、heartRateVariabilitySDNNだけ持っていました。iOS 27のSDKは2つ目のheartRateVariabilityRMSSDを追加しますが、現時点では説明を伴わない宣言だけの記載です。8 Recovery HRVとoverall HRVがRMSSDとSDNNに対応するのかどうかをAppleは述べていません。初日に両方の型を読み取り、Heart Rate Appの表示と突き合わせてください。
  3. readiness。 Appleはこれを、スコアと推奨を伴う機能として説明しています。現在のHealthKitドキュメントのインデックスにreadinessの型はなく、リリースもサードパーティからのアクセスに言及していません。SDKが別のことを示すまでは、Apple専用と考えてください。

9月18日までに変えておくこと

以下はいずれも新しいハードウェアを必要としません。密度が5分に1回の試行であれ、1日288件であれ、5秒に1件・1日17,280件であれ、正しくあり続けるパターンです。

日単位ではなく差分を読む。 HKAnchoredObjectQueryは、永続化しておいたアンカー以降に追加または削除されたサンプルだけを返し、開いたままにして更新を受け取ることもできます。5 起動のたびに直近24時間へサンプルクエリを流し直すアプリは、サンプル数に比例して増える仕事をしていることになります。2万件ともなれば、そのコストが毎回の起動にのしかかります。どこから痛みはじめるのかを私は計測していませんが、それこそが払うのをやめる理由です。

概観には統計値を、詳細にはサンプルを。 HKStatisticsCollectionQueryは、指定した区間ごとの最小値・最大値・平均値をHealthKitが計算して返します。そのため日表示は、その下にどれだけの測定値があろうと、限られた件数の結果を求めるだけで済みます。6 生の測定値は、それを必要とするビュー——単一のワークアウトやリカバリーのウィンドウ——のために残し、そうしたビューは新しい密度でプロファイルしてください。持ちこたえると決めてかからないことです。5秒ごとのストリームは、5分刻みのチャートが1点を描いていたところに60点を置きかねません。

バックグラウンド配信は意図して選ぶ。 enableBackgroundDelivery(for:frequency:)はHKUpdateFrequencyを受け取り、システムは「指定した頻度で定義される期間につき最大1回」アプリを起動します。.immediateは「指定した型のサンプルをプロセスが保存または削除するたび」にアプリを起動しますが、これもAppleが文書化している頻度の上限の範囲内であり、watchOSではドキュメントに「ほとんどのデータ型は1時間あたりの上限頻度を持つ」と書かれています。7 医療用途を除けばほぼすべてのケースで1時間ごとで十分ですし、その間に届いたものはanchored queryが拾ってくれます。

保存する前に集約する。 オフラインのチャートや同期のためにHealthKitを自前のデータベースへミラーリングしているアプリは、1分単位あるいは5分単位の集約値を保存し、生のサンプルはワークアウトのように必要なウィンドウに限って保持すべきです。1日に数千行ずつ増えるストアに何が起きるかは、SwiftDataのパフォーマンス記事で扱っています。

クエリに上限を設ける。 HKSampleQueryはlimitとソート記述子を受け取ります。両方を使ってください。増分の読み取りでは、HKAnchoredObjectQueryにlimitを与え、日付でページングするのではなく、返ってきたアンカーから続けます。59

拍動間隔は分けておく。 密になったBPMの測定値はRR間隔ではないので、ハートビートシリーズに流し込まないでください。拍動間隔用にはHKHeartbeatSeriesSampleがすでに存在し、HKHeartbeatSeriesBuilderで書き込みます。アプリが収集するRR間隔のデータにはこちらを使い、BPMの測定値は頻度がどうであれheartRateのサンプルに置いてください。10

プロダクトの余白はどこにあるか

Keynote recap slide for the Health app: Longevity, lab results, strength and balance assessments, Health Age, Readiness, Insights tab, on-demand VO2 max

Appleの2026年9月9日のイベント配信、午前10時44分(PT)のフレーム。Health Appのまとめスライド。総合的なフィットネスダッシュボードが、これから競合することになる面です。

readinessはウォッチと同時に登場します。「年内に、まず米国英語から」提供される刷新されたHealth Appには、Health Ageを含むLongevityタブが加わります。AppleはこのタブがApple自身のデータだけでなく「サードパーティのアプリとデバイス」も参照すると述べており、ユーザーは米国で119ドルの検査パネルを「予約・購入できるようになる」としています。23 私の見立てでは、総合的なフィットネスダッシュボードはこれと競合し、そして負けます。Appleが作らなかったのは具体性です。1つの競技のためのリカバリー、1つの疾患のためのペース配分、1つのコミュニティのためのコーチングループ、臨床医が求めた1つのビュー。心拍数データが密になれば、それらはより良くなります。AppleはLongevityのビューが「サードパーティのアプリとデバイス」を参照すると述べているので、あなたのアプリがHealthKitに書き込むサンプルは、刷新されたHealth Appの提供開始後にそこへ現れるかもしれません。どのデータが対象になるのかをAppleは文書化していませんが、何も書かないのではなく良いサンプルを書く理由は、どちらに転んでも変わりません。2

初日に走らせるテスト

9月18日からSeries 12を装着し、丸1日が過ぎたところで24時間のウィンドウを計測してください。heartRateのサンプルクエリを実行し、そのウィンドウと重なるHKQuantitySampleオブジェクトの数を記録します。数量サンプルは「1つ以上のHKQuantityオブジェクトを含み」、そのcountはサンプル全体を対象とするため、countを合計するとウィンドウの外にあるシリーズの一部まで含めてしまいます。12 測定値の件数は、同じ型に対してHKQuantitySeriesSampleQueryを実行して求めます。このクエリのハンドラは各数量をそれ自身の日付区間とともに渡してくるので、開始時刻が[start, end)に入る数量だけを残して数え、連続する数量どうしの間隔を、時間帯別・ソースデバイス別・ワークアウト実行中かどうか別に集計します。クエリのincludeSampleをtrueにしておけば、ハンドラは所有元のサンプルとそのデバイスも渡してくれます。12 同じことをheartRateVariabilitySDNNとheartRateVariabilityRMSSDについても行ってください。報告すべきは6つ。ウィンドウ、ウォッチとwatchOSのビルド、不規則な心拍の通知またはAFib Historyが有効かどうか、コンテナの数、ウィンドウ内の数量の数、そしてワークアウト中と非ワークアウト時それぞれの間隔の中央値です。これらの数字が、ここまでの各節を用心で済ませるか緊急事態にするかを決めます。従来のウォッチについてはAppleの2024年ホワイトペーパーがHealthKitへの公開頻度を示していますが、Series 12について同じことを示す資料をAppleは何も公開していません。11

要点

HealthKit開発者向け: - Series 12とUltra 4は心拍数を5秒ごと、HRVを最短5分ごとに測定しますが、そのうちどれだけがHealthKitに届くかをAppleは述べていません。従来のウォッチは、ホワイトペーパーによれば静止時に5分に1回のバックグラウンド測定を試みていました。211 - anchored queryとstatistics collectionへ今のうちに移行してください。どちらもどの密度でも正しく動きます。56 - より速い頻度を必要とする機能がない限りバックグラウンド配信は1時間ごとのままにし、保存する前に集約してください。7

プロダクト判断向け: - readinessとHealth Ageには、Appleのリリースにも現在のHealthKitのインデックスにも、サードパーティ向けの面がありません。HRVには2つ目の型heartRateVariabilityRMSSDが加わります。スコアではなく、サンプルの上に作りましょう。28 - 余白は具体性にあります。1つの競技、1つの疾患、1つのコミュニティ——Appleの総合ダッシュボードが止まるところです。

よくある質問

HealthKitは5秒ごとの心拍数測定値をすべて受け取るのですか

Appleは述べていません。リリースが説明しているのはウォッチ上での測定であって、HealthKitへの保存ではありません。Appleの2024年ホワイトペーパーは、従来のウォッチがワークアウト中は5秒ウィンドウごとに1件を公開し、バックグラウンドでは5分ウィンドウごとに1件を試みると述べており、Series 12を扱う更新版のペーパーはありません。丸1日装着したあと、9月19日以降に計測してください。HKQuantitySeriesSampleQueryが返す数量のうち、開始時刻が24時間のウィンドウ内に入るものを数え、HKQuantitySampleのコンテナ数は別に報告します。21112

readinessスコアはサードパーティのアプリから利用できますか

Appleが公開しているものの中に、それを示すものはありません。HealthKitドキュメントのインデックスにreadinessの型はなく、リリースもサードパーティからのアクセスに言及していません。2

Recovery HRVとoverall HRVは別々のHealthKitの型ですか

不明です。HealthKitはheartRateVariabilitySDNNを公開してきましたが、iOS 27のSDKはheartRateVariabilityRMSSDを、説明を伴わない宣言として追加しています。それぞれがどちらのバリアントを担うのか、あるいはいずれも担わないのかを、Appleは述べていません。8

従来のウォッチはwatchOS 27で変わりますか

Appleの5秒・5分という数字は、Series 12とUltra 4、およびその新しいセンサーに固有のものです。watchOS 27はSeries 9以降で動作しますが、リリースは新しい測定頻度をハードウェアに帰しています。23

心拍数のチャートは壊れますか

HKStatisticsCollectionQueryの上に作られたチャートは、固定の期間に対して限られた件数の区間結果を返すため、点の数は密度によって変わりません(値のほうは変わり得ます)。生のサンプルを描くチャートは、サンプル数に比例して増える仕事をします。ウォッチの発売前に新しい密度でプロファイルし、概観用のものは切り替えてください。6

出典


  1. Apple Newsroom、Introducing Apple Watch Series 12, with the all-new Health Sensing System、2026年9月9日。引用箇所: HRVの2つのバリアント、HRVの「最大24倍の頻度」、トレーニング負荷を含むreadinessの入力。 ↩↩↩↩

  2. Apple Newsroom、Apple advances health and fitness capabilities using Apple Intelligence、2026年9月9日。引用箇所: 両モデルでの5秒ごとの心拍数とActivityリングに関する一文、HRVの「最短5分ごと」と「24倍の頻度」、readinessの定義と4つの推奨、「年内に、まず米国英語から」提供される刷新されたHealth App、Longevityタブのサードパーティデータ。 ↩↩↩↩↩↩↩↩↩↩↩↩↩

  3. Apple Newsroom、Apple unveils Apple Watch Ultra 4、2026年9月9日。HRVの「最大24倍の頻度」、トレーニング負荷を含むreadinessの入力、9月14日のwatchOS 27の提供、9月18日の発売、119ドルの検査パネルを「予約・購入できるようになる」。 ↩↩↩↩↩↩

  4. Appleサポート、Monitor your heart rate with Apple Watch、2026年9月9日取得。引用箇所: 「静止しているときは1日を通して、歩いているときは定期的に」というバックグラウンド測定、ワークアウト中とその後3分間の継続的な測定。 ↩

  5. Apple Developer Documentation、HKAnchoredObjectQuery。 ↩↩↩↩

  6. Apple Developer Documentation、HKStatisticsCollectionQuery。 ↩↩↩↩

  7. Apple Developer Documentation、enableBackgroundDelivery(for:frequency:withCompletion:) および HKUpdateFrequency。 ↩↩

  8. Apple Developer Documentation、heartRateVariabilitySDNN、heartRateVariabilityRMSSD(iOS 27.0、watchOS 27.0で追加)、およびheartRate。heartRateには「サンプルデータはHealthKitによって圧縮または統合される場合があります」との記載があります。リンク先の記事Accessing condensed workout samplesは、対象を「数か月以上前の」ファーストパーティのワークアウトに限定し、同じ値の心拍数数量を区間数量へ統合する動作を説明しています。HKQuantityTypeIdentifierとHKCategoryTypeIdentifierのインデックスには、2026年9月9日時点でreadinessやHealth Ageの識別子は掲載されていません。 ↩↩↩↩↩↩↩

  9. Apple Developer Documentation、HKSampleQuery。 ↩

  10. Apple Developer Documentation、HKHeartbeatSeriesSample および HKHeartbeatSeriesBuilder。 ↩

  11. Apple、Heart Rate, Calorimetry, and Activity on Apple Watch、2024年11月、2026年9月9日取得。引用箇所: バックグラウンドのアルゴリズムは「ユーザーが静止しているときにのみ測定値を報告します。5分ごとに1件の心拍数(bpm)の報告を試みます」、「重複しない5分のウィンドウごとに、Apple Watchは1件のバックグラウンド心拍数をHealthKitに公開しようと試みます。ただし、その可否は信号品質とユーザーの動きに左右されます」、「重複しない5秒のウィンドウごとに、アルゴリズムは最も品質の高い心拍数測定値を1件選び、表示およびHealthKitへの公開を行います」、歩行時のスポットチェック: 「信号品質が十分であれば、スポットチェックされた歩行時の心拍数がHealthKitに公開されます」、HRV: 「タコグラムの既定の測定頻度は4時間ごとで、ユーザーが不規則な心拍の通知またはAFib Historyを有効にすると、それぞれ2時間ごと、15分ごとに増えます」。 ↩↩↩↩↩↩↩↩↩

  12. Apple Developer Documentation、HKQuantitySample: 「数量サンプルは1つ以上のHKQuantityオブジェクトを含みます」、countプロパティ、およびHKQuantitySeriesSampleQuery、「数量サンプルに関連付けられたシリーズデータにアクセスするクエリ」。そのハンドラは各数量を日付区間とともに受け取り、includeSampleプロパティは「クエリがシリーズサンプルを返すかどうか」を決めます。 ↩↩↩↩

関連記事

リサイズ可能なiPhoneの時代:9月までにアプリを備えておく

iOS 27は、リサイズ対応の境界線をビルドに使うSDKに引きます。固定サイズの前提を洗い出し、アダプティブなレイアウトを採用し、Xcode 27でテストする——そのチェックリスト。

9 分で読める

開発者のためのiPhone Duo:1.42の問題と、SDKの空白

開発者向けのiPhone Duo。App Store Connectのスクリーンショットから推論したポイント数、2つのディスプレイの形、Split View、Touch ID、SDKの時期、そして6本のTech Talk。

32 分で読める

Mac App Store はウィンドウマネージャーの存在を許さない。それでも私は出荷した。

App Sandbox は、あらゆるウィンドウタイラーが必要とする API を禁じており、Apple はストアの外で配布せよと答えました。941 Tiles はストアの中で出荷しています。ウィンドウを動かすのは Apple の Shortc…

11 分で読める