【发布时间】:2018-12-29 18:48:44
【问题描述】:
我的所有 HealthKit 授权请求都因此错误而超时。我的代码没有任何变化,但我最近将 Xcode 切换到了一个新的 Apple ID 帐户。
我设置了一个开发团队,配置了一个配置文件,并且 HealthKit 功能和权利工作正常。我的应用程序构建并运行良好,但每当我拨打requestAuthorization 时,我都会无缘无故地超时。错误中没有其他信息,并且所有内容似乎都已正确配置,因此我对可能导致此问题的原因一无所知。
我试过模拟器和设备都有同样的问题。 HealthKit 身份验证的对话框永远不会出现。事后我可以进入健康应用程序并打开必要的数据共享,但这不是一个可接受的解决方法。
什么会导致 healthKitStore requestAuthorization 超时错误?
我 99% 确定这是一个配置问题,但是经过多次处理,并重新创建了大量证书、配置文件等,我不知道问题可能是什么。我应该在哪里寻找配置问题?这方面的文档基本上为零,我在 Google 上只找到了 2 个与此相关的结果,没有解决方案。
let healthKitTypesToRead = [...]
let healthKitStore:HKHealthStore = HKHealthStore()
healthKitStore.requestAuthorization(toShare: nil, read: healthKitTypesToRead) { (success, error) -> Void in
if( completion != nil ) {
completion(success, error as? NSError)
}
}
【问题讨论】:
-
你在主线程中运行 requestAuthorization 吗?