iPhoneのHealthアプリからワークアウトデータの一部が欠落していることに気付いたことがありますか?
AppleのHealthアプリは、すべてのフィットネスアプリがデータを保存および共有するための中央ハブを提供するように設計されています。 これは、ログに記録するために使用するアプリに関係なく、すべてのアクティブカロリーが一緒に追加されることを意味すると思われるかもしれません。 しかし、真実はそれほど単純ではありません—いくつかの隠された設定を微調整して、表示されるものをカスタマイズすることはできますが。
HealthKitサポートをフィットネスアプリに導入した後、これを発見しました。 担当者とセット、パートナーのMartinAlgestenと共同で開発しました。 私たちのユーザーは、なぜ彼らのカロリーが表示されなかったのかと私たちに尋ね始めました。
この問題を調べたところ、バグが見つかりました(ええと、修正が間もなく開始されます)。 しかし、これだけが問題ではないことが判明しました。 Healthアプリがカロリーを表示する方法には、より根本的な問題があります。
私のカロリーはどこに行きますか?
HealthKitをサポートするアプリを使用してワークアウトをログに記録する場合、アクティブカロリーをAppleのHealthアプリに保存することを選択できます。保存すると、[すべてのデータを表示]リストに表示されます。
ただし、特定の日にリストされているすべてのカロリーの合計は、アクティブカロリーグラフに表示される合計と一致しない場合があります。 さらに、Apple Watchも使用している場合、サードパーティのアプリから追加されたカロリーはおそらく合計に含まれていません。
これは多くの担当者とセットのユーザーが直面していた問題であり、私はその理由を発見しようと試みました。
オタクの警告:私たちは、 HealthKit….
なぜすべてのカロリーがカウントされないのですか
Healthアプリは、さまざまなソースからカロリーデータを取得します。iPhoneの組み込み M8モーションコプロセッサー、Apple Watch(お持ちの場合)およびHealthKitを介したサードパーティアプリ。
これらすべてのカロリーを合計できない理由は、一部が重複している可能性があるためです。 たとえば、Apple Watchは、動きによって消費しているカロリーを継続的に監視します。 Apple Watchを装着した状態でReps&Setsなどのサードパーティアプリを使用してワークアウトをログに記録すると、同じワークアウトを2回効果的にログに記録することになります。
Healthアプリが両方のワークアウトのすべてのデータを単純に加算すると、カロリーが二重にカウントされ、1日の消費カロリーの誤解を招く合計が得られます。
Healthアプリの隠れた優先事項
この問題を解決するために、Healthアプリはデータソースに優先順位を付けます。 デフォルトでは、手動で入力したカロリーが最優先され、次にApple Watchからのデータ、次にiPhoneのM8コプロセッサー、最後にHealthKitを介したサードパーティアプリからのデータが優先されます。
つまり、Apple Watchを使用している場合、サードパーティのフィットネスアプリからのデータは [すべて表示]を選択しても表示されますが、アクティブカロリーの合計に含まれます データ。"
データソースの管理
良いニュースは、Healthがソースに優先順位を付ける方法を変更できることですが、このオプションは非常によく隠されています。 それを見つけるには、探す必要があります。これは、直感に反して「データの共有」と呼ばれるメニューオプションの下にあります。
[データの共有]画面には、データソースのリストがあります。 (右上の)[編集]ボタンをタップすると、これらのソースを並べ替えることができ、サードパーティのアプリにAppleWatchよりも高い優先度を与えることができます。
これにより、アクティブカロリーの合計が根本的に変わる可能性があります。 Healthアプリは引き続きAppleWatchのデータを使用しますが、優先順位を付けたサードパーティのデータとインテリジェントに結合しようとします。
そのため、サードパーティのアプリのカロリーが不足している場合、この機能を使用すると、カロリーを元に戻すことができます。
しかし、しばらくの間これらの設定で遊んだので、私はまだAppleがこれらのカロリー源を組み合わせるためにどのように計算を行っているかを理解することができませんでした。 数字は単純に合計されません。おそらく、アプリが二重カウントを補正しようとしているためです。 したがって、これらの合計が実際にどれほど正確であるかはわかりません。
アクティブカロリーはムーブリングカロリーと同じではありません
カロリーの混乱のもう1つの原因は、Healthアプリのアクティブカロリーの合計が、AppleWatchのアクティビティアプリのMoveリングカロリーの合計と同じではないことです。
これは、Healthアプリとは異なり、Activityアプリには複数のソースからのデータが含まれておらず、AppleWatchからのデータのみを使用するためです。
今年後半にwatchOS2がヒットすると、サードパーティのアプリがMoveリングにカロリーを追加できるようになりますが、いくつかの重要な制限があります。 カロリーは、組み込みのWorkoutアプリでサポートされているのと同じエクササイズタイプに制限されている新しいWorkoutAPIを使用してWatchアプリからのみ追加されます。 そのため、他の種類のフィットネスアプリから追加されたカロリーは、ムーブリングの合計には影響しません。
単純すぎますか?
私のアプリのユーザーが自分のカロリーに何が起こったのかと私に尋ねるとき、私はこれをすべて説明することができます。 しかし、私はそうする必要はありません。
Appleは、製品をシンプルで直感的に使用できるように努めています。 しかし、これが過度に単純化されることもあり、それがAppleフィットネスアプリエコシステムのアクティブカロリーで起こったことだと私は信じています。 クパチーノのコーディングウィザードは、カロリー計算の複雑さをうまく隠しましたが、そうすることで新しい問題が発生しました。
その結果、Health and Activityアプリは、消費カロリーの相反する推定値を提供する可能性があります。 そして、それは単純でも直感的でもありません。
注意:iOS 9では、ActiveCaloriesはActiveEnergyに名前が変更され、カロリーまたはキロジュールで測定できます。