SwiftUIとHealthKitのHKSampleQueryを使用して心拍数をリアルタイムで取得する際の問題


私はSwiftUIとHealthKitを使用して、ユーザーの心拍数をリアルタイムで取得するアプリを開発しています。具体的には、HKSampleQueryを使用して最新の心拍数のサンプルを取得しようとしています。しかし、アプリがフォアグラウンドにある間、新しいデータを取得することができません。しかし、アプリを一度バックグラウンドに移動してから再びフォアグラウンドに戻すと、新しいデータが正常に取得できます。

以下は私が使用しているコードの一部です：

[code]

    let heartRateType = HKObjectType.quantityType(forIdentifier: .heartRate)!
    let currentDate = Date()
    let tenSecondsAgo = currentDate.addingTimeInterval(-10)
    let predicate = HKQuery.predicateForSamples(withStart: tenSecondsAgo, end: currentDate, options: .strictStartDate)
    let sortDescriptor = NSSortDescriptor(key: HKSampleSortIdentifierStartDate, ascending: false)
    
    let query = HKSampleQuery(sampleType: heartRateType, predicate: predicate, limit: 3, sortDescriptors: [sortDescriptor]) { _, samples, _ in
        // データの処理
    }
    healthStore.execute(query)
    
[/code]

私が試したこと：

HKHealthStoreのインスタンスを毎回新しく初期化してデータを取得する。  
データの取得範囲を過去10秒に設定して、最新のデータを取得する。  
この問題に関する知識や経験がある方、アドバイスやヒントをいただけると幸いです。よろしくお願いいたします。

