HealthKit requestAuthorization返回代码100:“授权会话超时”

时间:2018-12-29 18:48:45

标签: ios health-kit

我所有的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)
    }
}

1 个答案:

答案 0 :(得分:0)

这是由于在后台线程中运行授权请求。在主线程上执行此操作即可解决该问题。