0
私のアプリでHealthKitの実装に少し助けが必要です。速報で健康キットから週、月、年形式のデータを取得する
func getTodaysSteps(completion: @escaping (Double) -> Void) {
let stepsQuantityType = HKQuantityType.quantityType(forIdentifier: .stepCount)!
let now = Date()
let startOfDay = Calendar.current.startOfDay(for: now)
let predicate = HKQuery.predicateForSamples(withStart: startOfDay, end: now, options: .strictStartDate)
let query = HKStatisticsQuery(quantityType: stepsQuantityType, quantitySamplePredicate: predicate, options: .cumulativeSum) { (_, result, error) in
var resultCount = 0.0
guard let result = result else {
// log.error("Failed to fetch steps = \(error?.localizedDescription ?? "N/A")")
completion(resultCount)
return
}
if let sum = result.sumQuantity() {
resultCount = sum.doubleValue(for: HKUnit.count())
}
DispatchQueue.main.async {
completion(resultCount)
}
}
healthStore.execute(query)
}
は、今私は、ユーザーが全体の月のそれぞれの日のカウントとカロリーをステップ取得したい:私は、私は、ユーザーが特定の日のために数えるステップを取得するには、次のコードを使用していスウィフト4 Xcodeの9で働いています。言い換えれば、週、月、年の形式で過去のステップカウントを取得したいと考えています。誰も私の助けてもらえますか?
を使用する必要が現在の日付
である私はそれを試してみましたが、それは私に1週間のすべてのステップの合計を与えます。私は週全体の各日の個人データを必要とします。配列や何かのようなもの。 – PersianBlue
これはあなたの最後に各日付のデータを追跡する必要があります。 それ以外の場合は、メソッドを複数回呼び出すか、ループ内で個々の日の日付を変更するか、 – Deepak