如何解决如何更新UI并询问Healthkit的权限
如今,我正在开发与iOS中的Healthkit相关的应用程序。我面临一个问题。 在第一个视图控制器(即HomeVC)中,当我尝试请求Healthkit许可时,它工作正常,并显示系统屏幕以获取许可。
但是,与此同时,我必须征得许可才能在viewcontoller上设置UI元素的布局,因此我在viewDidload方法中添加了一些代码来更新UI。在这种情况下,当我请求权限时,权限屏幕将不显示并显示白屏,并且控制台中出现以下错误。
Error Domain = com.apple.healthkit代码= 100“授权会话已计时 out“ UserInfo = {NSLocalizedDescription =授权会话超时}
有什么办法解决这个问题?
解决方法
添加到info.plist文件中。添加以下 信息属性列表->隐私-运行状况更新用法说明 说明-> App希望访问您的保健工具包,以为您提供更好的健身效果
func authorizeHealthKit() {
let healthKitTypesToRead : Set<HKObjectType> = [
HKObjectType.characteristicType(forIdentifier: HKCharacteristicTypeIdentifier.dateOfBirth)!,HKObjectType.characteristicType(forIdentifier: HKCharacteristicTypeIdentifier.bloodType)!,HKObjectType.quantityType(forIdentifier: .stepCount)!,HKObjectType.quantityType(forIdentifier: .activeEnergyBurned)!
]
let healthKitTypes: Set = [ HKObjectType.quantityType(forIdentifier: HKQuantityTypeIdentifier.stepCount)!,HKObjectType.quantityType(forIdentifier: HKQuantityTypeIdentifier.activeEnergyBurned)! ]
let healthKitTypesToWrite : Set<HKSampleType> = []
if !HKHealthStore.isHealthDataAvailable() {
print("error")
return
}
self.healthKitStore.requestAuthorization(toShare: healthKitTypesToWrite,read: healthKitTypesToRead) { (success,error) in
print("request authorized succesfully")
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。