7

我很难让 HealthKit 为我的 iOS 应用程序工作。到目前为止,我已经完成了我发现的所有步骤,但似乎没有一个可以解决我的问题我在尝试授权 Healthkit 时不断收到此错误:

Error Domain=com.apple.healthkit Code=4 "Missing com.apple.developer.healthkit entitlement." UserInfo=0x78fa24e0 {NSLocalizedDescription=Missing com.apple.developer.healthkit entitlement.}

这是我要求授权的代码:

    if([HKHealthStore isHealthDataAvailable]) {

        self.healthStore = [[HKHealthStore alloc] init];

        [self.healthStore requestAuthorizationToShareTypes:nil readTypes:[self dataTypesToRead] completion:^(BOOL success, NSError *error) {

            if (!success) {
                NSLog(@"HK Error: %@", error);
                [self presentHealthAlert:@"You didn't allow APP to access HealthKit Data. Please go to Settings and set up APP permissions." withTitle:@"Error"];
            } else {
                [self presentHealthAlert:@"Thank You For Access" withTitle:@"Success"];
            }
        }];

    } else {
        [self presentHealthAlert:@"Health Data Not Available" withTitle:@"Success"];
    }

是的,我已经在我的项目 Capabilites 中启用了它,是的,我已经在我的 Dev Center App ID 中启用了它。还有什么我可能会丢失的吗?

4

7 回答 7

6

我在使用 watchOS 2 应用时遇到了这个问题。解决方案是确保我为iOS 应用程序手表扩展启用了HealthKit 权利。

我错误地认为 iOS 应用程序的开关将由 watch 扩展继承。

于 2015-09-30T07:19:43.463 回答
1

您必须确保单击 Xcode 左侧的程序(文件层次结构的顶部)。您将进入主窗口(右侧)中的常规设置屏幕,您将在其中看到您的包标识符、部署目标和其他设置。单击顶部显示“功能”的选项卡。现在您将看到一个包含 HealthKit 的可切换列表。您必须先在此处激活它,然后才能在应用程序中使用它。

编辑:这是来自 Xcode 的图像,如果您不熟悉设置依赖项或其他程序特定设置,它可能会帮助您找到它。

显示带有 HealthKit 的列表在哪里的屏幕截图

它在右边的这个列表中,在底部你会看到 HealthKit。一旦您打开它并验证您可以使用它,它将检查几件事。

于 2014-11-27T13:19:41.263 回答
1

有点旧,但对于其他有问题的人,我不得不在 XCode 6.2(首选项 -> 帐户)中手动刷新我的配置文件。

于 2015-03-17T08:01:57.377 回答
1

在我无计可施后,我最终来到了这里。没有任何效果,我显然启用了 HealthKit 授权,所以最后我只是重新启动了手机。瞧。重新启动清除了缺少的权利错误。

于 2015-05-18T00:13:31.020 回答
1
  1. 单击Watch App Extension目标。

  2. 点击功能

  3. 向下滚动到底部并打开HealthKit

在此处输入图像描述

于 2017-10-27T21:03:23.093 回答
0

通过确保我已注册设备,我设法让我的权利发挥作用。一旦我在模拟器下显示了我的 iPhone,并且在应用程序的身份部分下没有任何未解决的问题,它就可以正常加载了。

于 2016-02-28T15:16:56.493 回答
0

您可能会发现,尽管您在 xcode 中打开了 HealthKit 权利,但仍有第二个权利文件不包含 healthkit 布尔值。我发现虽然明显的权利文件(在顶层)具有正确的信息,但在资源下创建了一个不包含 healthkit 权利的不同权利文件。修复该文件解决了我的问题。

于 2017-06-07T08:05:19.980 回答