我正在编写一个需要用户心律的Apple WatchOS应用程序。但是,我无法显示HealthKit权限表。手表和iPhone会显示一条通知,指出我的应用程序想访问健康数据,但没有出现权限表,即使使用Health App也不表明我的应用程序已请求任何数据的许可。 / p>
我已经看过多个问题,但似乎没有在线答案。我已经尝试了针对HealthKit的几种不同的在线教程,这是到目前为止唯一已编译的教程。我的info.plist中有Privacy - Health Records Usage Description
和Privacy - Health Share Usage Description
,分别用于ios和watch目标。我还打开了两个目标的功能中的HealthKit。我的代码是:
func requestHealthAuthorization() {
let heartRate = HKObjectType.quantityType(forIdentifier: .heartRate)!
let distance = HKObjectType.quantityType(forIdentifier: .distanceWalkingRunning)!
let types: Set<HKSampleType> = [heartRate, distance]
store.requestAuthorization(toShare: types, read: types) { (success, error) in
guard success else {
return
}
self.heartRateQuery = self.getHeartRate()
self.store.execute(self.heartRateQuery!)
}
}
我希望弹出HealthKit请求表,但是什么也没发生。如果我打印成功和错误值,我将得到:
success = false
error = Optional(Error Domain=com.apple.healthkit Code=5 "Authorization request canceled" UserInfo={NSLocalizedDescription=Authorization request canceled})
任何帮助您都很棒。谢谢。