私は以下のコードで一定期間(運動時間)HealthKitから平均心拍数データを読み取ることができます。Swift HealthKitトリガー心拍数サンプル
しかし、Apple Healthアプリを見ると、Apple Watchの心拍数サンプルが非常に少ない頻度で(15-30分ごとに)表示されます。これは、私の平均的な人事問題がかなり不正確であることを意味します。
私はどのようにしてHealthKitをトリガーして、心拍数のデータをサンプリングしてHealthKitに書き込むことができますか?
let endDate = (calendar as NSCalendar).date(byAdding: NSCalendar.Unit.minute, value: duration, to: startDate, options: NSCalendar.Options())
let predicate = HKQuery.predicateForSamples(withStart: startDate, end: endDate, options: HKQueryOptions())
let squery = HKStatisticsQuery(quantityType: heartRateType, quantitySamplePredicate: predicate, options: HKStatisticsOptions.discreteAverage, completionHandler: { (qurt, result, errval) -> Void in
guard errval == nil else { print("error"); completion(0.0, errval); return }
var averageHeartRate : Double = 0.0
if (result != nil && result!.averageQuantity() != nil) {
let quantity : HKQuantity = result!.averageQuantity()!
averageHeartRate = quantity.doubleValue(for: HKUnit.count().unitDivided(by: HKUnit.minute()))
}
})
測定前に 'HKWorkoutSession'を起動しましたか? –
@DávidPásztor私はしなかった、一度始めたそれは良かった、ありがとう! – achen1217
@DávidPásztor私はトレーニングを開始しましたが、私は終了セッションを呼び出すと停止しないようです。 hrモニタは引き続きオンで、時計アプリはフォアグラウンドにとどまります。どのように私はこれを止めることができる任意のアイデア? – achen1217