【发布时间】:2022-01-06 05:24:01
【问题描述】:
参考 HealthKit - 临床健康记录,我们实现了以下方法来获取用户的临床记录,但似乎查询失败并且应用程序每次都崩溃。没有生成崩溃报告,因为查询数据后,应用崩溃了。
我们用 Apple 提供的示例帐户尝试了相同的方法,它在模拟器中运行良好,但它在实际用户中崩溃。
以下是我们使用article from Apple创建的代码sn-p:
func getRecordsForCHRType(type: HKClinicalTypeIdentifier, completion:@escaping ([HKClinicalRecord]?) -> Void) {
guard let healthRecordType = HKObjectType.clinicalType(forIdentifier: type) else { return }
let startDate = Calendar.current.date(byAdding: DateComponents(day: -365), to: Date())!
let endDate = Calendar.current.date(byAdding: DateComponents(day: 0), to: Date())!
let predicate = HKQuery.predicateForSamples(withStart: startDate, end: endDate, options: [.strictStartDate])
let sortDescriptor = NSSortDescriptor(key: HKSampleSortIdentifierStartDate, ascending: false)
let healthRecordQuery = HKSampleQuery(sampleType: healthRecordType, predicate: predicate, limit: 0, sortDescriptors: [sortDescriptor]) { (query, samples, error) in
guard let actualSamples = samples else {
completion(nil)
return
}
let healthRecordSamples = actualSamples as? [HKClinicalRecord]
completion(healthRecordSamples)
}
HKHealthStore().execute(healthRecordQuery)
}
您能帮我们找出问题吗?
另外,请帮助我们了解样本临床健康记录 JSON 中可用的以下不同类型的日期(详细),是否可以对这些日期应用过滤器以缩小临床记录响应范围?
- 已发布
- 日期记录
- 记录日期
- 发病
- 有效数据时间
任何帮助将不胜感激!
【问题讨论】:
-
在真机Xcode下运行你的应用
-
感谢@Paulw11,我们在 xcode 下运行了应用程序,但我们使用 HealthKit 提供的示例数据,它可以工作并且我们能够获取 EHR。问题是我们的设备中没有 EHR,因为我们所在地区不支持它。但是对于我们拥有 EHR 数据和支持的用户,应用程序正在崩溃,我们无法在那里获取 xcode。
标签: ios apple-watch healthkit