HealthKit 请求授权 returns 代码 100:"Authorization session timed out"

HealthKit requestAuthorization returns code 100: "Authorization session timed out"

我所有的 HealthKit 授权请求都因这个错误而超时。我的代码没有任何变化,但我最近 Xcode 切换到了一个新的 Apple ID 帐户。

我设置了开发团队,配置了配置文件,并且 HealthKit 功能和权利正常运行。我的应用程序构建并运行良好,但每次我进行 requestAuthorization 调用时,我都会无缘无故地超时。错误中没有其他信息,而且一切似乎都已正确配置,所以我完全不知道是什么原因导致的。

我试过模拟器和设备都有同样的问题。 HealthKit auth 的对话框永远不会出现。我可以事后进入健康应用程序并打开必要的数据共享,但这是一个不可接受的解决方法。

什么会导致 healthKitStore 请求授权超时错误?
我 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)
    }
}

这是由于 运行 后台线程中的授权请求。在主线程上执行它解决了问题。