从 HealthKit 获取设备
Get devices from HealthKit
Health 应用程序在“来源”选项卡中显示设备。我只是想获得健康应用程序用来确定来源类型的相同信息。
HKSource 似乎没有提供。
是否有任何其他方法可以识别哪个来源是 iPhone 或 Apple Watch?
let sampleType = HKObjectType.quantityType(forIdentifier: HKQuantityTypeIdentifier.stepCount)
let query = HKSourceQuery(sampleType: sampleType!, samplePredicate: nil) {
query, sources, error in
}
HKHealthStore().execute(query)
我找到了解决方案。我将在 HKSample 中查询 HKSample and property HKDevice 包含有关设备的信息。
let group = DispatchGroup()
for source in sources {
let sourceModel = SourceHealthKitModel(source: source)
group.enter()
let type = HKQuantityType.quantityType(forIdentifier: .stepCount)
let predicate = HKQuery.predicateForObjects(from: source)
let query = HKSampleQuery(sampleType: type!, predicate: predicate, limit: 1, sortDescriptors: nil) { (query, results, error) in
if let sample = results?.first {
sourceModel.sample = sample
self?.dataSources.append(sourceModel)
}
group.leave()
}
HKHealthStore().execute(query)
}
group.notify(queue: .main) {
self?.tableView.reloadData()
}
Health 应用程序在“来源”选项卡中显示设备。我只是想获得健康应用程序用来确定来源类型的相同信息。
HKSource 似乎没有提供。
是否有任何其他方法可以识别哪个来源是 iPhone 或 Apple Watch?
let sampleType = HKObjectType.quantityType(forIdentifier: HKQuantityTypeIdentifier.stepCount)
let query = HKSourceQuery(sampleType: sampleType!, samplePredicate: nil) {
query, sources, error in
}
HKHealthStore().execute(query)
我找到了解决方案。我将在 HKSample 中查询 HKSample and property HKDevice 包含有关设备的信息。
let group = DispatchGroup()
for source in sources {
let sourceModel = SourceHealthKitModel(source: source)
group.enter()
let type = HKQuantityType.quantityType(forIdentifier: .stepCount)
let predicate = HKQuery.predicateForObjects(from: source)
let query = HKSampleQuery(sampleType: type!, predicate: predicate, limit: 1, sortDescriptors: nil) { (query, results, error) in
if let sample = results?.first {
sourceModel.sample = sample
self?.dataSources.append(sourceModel)
}
group.leave()
}
HKHealthStore().execute(query)
}
group.notify(queue: .main) {
self?.tableView.reloadData()
}