[英]How to read iOS Healthkit Blood Pressure (systolic,diastolic) using HKObserverquery?
[英]HealthKit Always Returns No Results when reading Blood Pressure
我一直在嘗試各種選擇來恢復結果,但是沒有運氣。 我從另一個問題中獲取了代碼,並試圖使其正常運行,但仍然一無所獲。 我手動將數據輸入健康狀態,並從BP監視器獲取讀數,所以我知道那里有數據。 沒有錯誤報告。
func readSampleByBloodPressure()
{
let past = Date.distantPast
let now = Date()
let sortDescriptor = NSSortDescriptor(key:HKSampleSortIdentifierStartDate, ascending: true)
let type = HKQuantityType.correlationType(forIdentifier: HKCorrelationTypeIdentifier.bloodPressure)
let sampleQuery = HKSampleQuery(sampleType: type!, predicate: nil, limit: 0, sortDescriptors: [sortDescriptor])
{ (sampleQuery, results, error ) -> Void in
let dataLst = results as? [HKCorrelation];
for data in dataLst!
{
let data1 = (data.objects(for: HKObjectType.quantityType(forIdentifier: HKQuantityTypeIdentifier.bloodPressureSystolic)!)).first as? HKQuantitySample
let data2 = data.objects(for: HKObjectType.quantityType(forIdentifier: HKQuantityTypeIdentifier.bloodPressureDiastolic)!).first as? HKQuantitySample
print("Data Found")
/*
if let value1 = data1!.quantity.doubleValue(for: HKUnit.millimeterOfMercury()) , let value2 = data2!.quantity.doubleValue(for: HKUnit.millimeterOfMercury())
{
print(value1)
print(value2)
}
*/
}
}
self.healthStore?.execute(sampleQuery)
}
}
這是由於未能授權收縮壓和舒張壓讀數所致。 在授權中,當您從Health Kit中獲得彈出窗口時,即使選擇“全部授權”,“ All”也僅表示顯示的列表中顯示的內容,而不是HealthKit可用的所有內容。 在您的身份驗證代碼中,您需要指定您想要的每件事,然后將它們顯示在身份驗證彈出窗口中。
作為旁注。 如果您已執行此操作,並且在運行狀況應用程序中簽入並看到所需的內容已被授權但仍然無法使用,請嘗試切換設置。 顯然,最初的批准並不總是需要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.