使用 HealthKit 检索 SleepAnalysis 后,我仍然收到此 Authorization Not Defined 错误
Posted
技术标签:
【中文标题】使用 HealthKit 检索 SleepAnalysis 后,我仍然收到此 Authorization Not Defined 错误【英文标题】:After using HealthKit to retrieve SleepAnalysis, I still get this Authorization Not Determined error 【发布时间】:2017-06-07 15:52:32 【问题描述】:几天来我一直在使用对这个错误的引用,试图找出解决方案:
[query] Error activating query: Error Domain=com.apple.healthkit Code=5 "Authorization not determined" UserInfo=NSLocalizedDescription=Authorization not determined
我一直在使用 HealthKit 成功检索睡眠数据,但现在我需要检索活动数据。我用这个功能设置了 HealthKit:
let typesToRead = Set([
HKObjectType.categoryType(forIdentifier: HKCategoryTypeIdentifier.sleepAnalysis)!,
HKObjectType.categoryType(forIdentifier: HKCategoryTypeIdentifier.appleStandHour)!,
HKObjectType.characteristicType(forIdentifier: HKCharacteristicTypeIdentifier.dateOfBirth)!,
HKObjectType.characteristicType(forIdentifier: HKCharacteristicTypeIdentifier.bloodType)!,
HKObjectType.characteristicType(forIdentifier: HKCharacteristicTypeIdentifier.biologicalSex)!,
HKObjectType.quantityType(forIdentifier: HKQuantityTypeIdentifier.height)!,
HKObjectType.quantityType(forIdentifier: HKQuantityTypeIdentifier.bodyMass)!,
HKObjectType.workoutType(),
HKObjectType.activitySummaryType()
])
self.healthStore.requestAuthorization(toShare: nil, read: typesToRead) (sucess, error) -> Void in
if sucess == false
NSLog("Error...")
然后我创建我的查询:
let query = HKSampleQuery(sampleType: distanceType, predicate: nil, limit: 0, sortDescriptors: [startDateSort])
(sampleQuery, results, error) -> Void in
if let result = results
for item in result
if let sample = item as? HKQuantitySample
self.workOutSamples.append(sample)
print(self.workOutSamples)
healthStore.execute(query)
我已将 Privacy - Health Update Usage Description
和 Privacy - Health Share Usage Description
添加到 info.plist 并且我的应用程序的功能包括成功打开 HealthKit。
【问题讨论】:
【参考方案1】:在 typesToRead 中添加了 HKObjectType.quantityType(forIdentifier: HKQuantityTypeIdentifier.distanceWalkingRunning)!
。我的帖子没有显示我在创建distanceType
时使用了错误的类型:quantityType
。
【讨论】:
以上是关于使用 HealthKit 检索 SleepAnalysis 后,我仍然收到此 Authorization Not Defined 错误的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Swift 在 iOS 中显示从 HealthKit 中检索到的 HKDocumentSample?
使用 HealthKit 检索 SleepAnalysis 后,我仍然收到此 Authorization Not Defined 错误
一天的谓词格式,用于搜索从 HealthKit 检索的 Steps Sample Array