【问题标题】:HealthKit requestAuthorization dialog not appearingHealthKit requestAuthorization 对话框未出现
【发布时间】:2016-03-30 12:05:03
【问题描述】:

我一直无法让 HealthKit requestAuthorization 对话框出现。对于具有不同操作系统版本和不同安装方法的两部不同手机,情况就是如此(见下文)。 requestAuthorization 代码为标准样板代码,如:

HKCharacteristicType *genderType = [HKObjectType characteristicTypeForIdentifier:HKCharacteristicTypeIdentifierBiologicalSex];
[self.healthStore requestAuthorizationToShareTypes:nil readTypes:[NSSet setWithObjects: genderType, nil] completion:^(BOOL success, NSError *error) {
    NSLog(@"requestAuthorization completion block");
}];

我尝试了一个仅使用该代码的新应用,尝试了 requestAuthorization 方法调用的不同参数,并尝试以多种不同方式重置我们的系统:应用卸载、重置设置、擦除手机内容和使用现有设置部分备份;使用完整备份擦除手机内容和设置,擦除内容和设置并将手机作为新手机启动。尝试了多种不同的 readTypes 和 shareTypes。每次在新的应用安装上调用 requestAuthorization 时,都会出现以下错误代码:

“发生错误 = 错误域=com.apple.healthkit 代码=4”缺失 com.apple.developer.healthkit 权利。” UserInfo=0x7fa748534b00 {NSLocalizedDescription=缺少 com.apple.developer.healthkit 权利。}"

但是,HealthKit 权利在 xcode 上的 Capabilities 以及 Apple Developer 上的 App ID 中的 Capabilities 中设置:证书、标识符和配置文件。

- 问题: 如何解决此问题,以便出现 requestAuthorization 对话框?手机进入持续出现此错误的状态的可能原因是什么?

- 使用的手机: iPhone 6、iPhone 6 Plus - 使用的操作系统版本: iOS 9.0 / 9.0.2 / 9.1 / 9.2 - 将应用加载到手机上的方法: iOS App Store、Watch App App Store、TestFlight、xcode - 这似乎没有被破坏的情况:我们用户的(非开发)手机通过 App Store 安装。

【问题讨论】:

    标签: ios healthkit


    【解决方案1】:

    有几件事可能会导致这种情况。首先,您的配置文件可能与您在门户网站上实际看到的内容过时。尝试从 XCode 手动刷新这些。

    您的应用是否有使用 HealthKit 框架的应用扩展或 watchOS 应用?每个扩展程序/手表应用程序都将在门户网站上拥有自己的配置文件,如果已将 HealthKit 框架添加到其中任何一个而没有添加权利,那么这也可能导致错误。

    【讨论】:

      猜你喜欢
      • 2018-10-18
      • 2017-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多