0
AppleのHealthKitでHKSampleQueryでHKWorkoutサンプルを取得しようとしています。ところで、私はApple Watchによって追跡されたHKWorkoutのデバイス名を取得できません。Apple Watchで追跡するHKWorkoutのデバイス名を取得する方法
いくつかのHKWorkoutサンプルデータを取得し、sourceRevisionとtotalDistanceが利用可能であることを確認できました。しかし、唯一のデバイスデータは確認できませんでした。それはそれがヌル値を持っていることを示した。
アップルはそれを見逃していますか?
これを実験するコードは次のとおりです。
func getRunningWorkouts(completionHandler: @escaping (_ data:[AnyObject]?, _ response:Bool, _ error:Error?) -> Void) {
let predicateForRunning = HKQuery.predicateForWorkouts(with: .running)
let sortDescriptor = NSSortDescriptor(key: HKSampleSortIdentifierStartDate, ascending: false)
let sampleType = HKWorkoutType.workoutType()
let sampleQuery = HKSampleQuery(sampleType: sampleType, predicate: predicateForRunning, limit: HKObjectQueryNoLimit, sortDescriptors: [sortDescriptor]) { (query, resultsArray, error) in
if error != nil {
print("Get an error to extract running workout: \(error)")
return
}
if let samples = resultsArray as? [HKWorkout] {
for sample in samples {
print(sample.device?.name)
completionHandler(samples, true, nil)
}
}
}
}
healthStore.execute(sampleQuery)
}
もっと明確にするために、コード/スクリーンショットを質問に追加した方がいいでしょう。 –