我无法使HealthKit工作。 缺less权利

我很难让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上启用了它,是的,我已经在我的开发人员中心应用程序ID中启用了它。 还有什么我可能会失踪?

我有一个watchOS 2应用程序的这个问题。 解决scheme是为了确保我已经为iOS应用程序手表扩展程序启用了HealthKit权利。

我错误地认为iOS应用程序的开关将被watch扩展inheritance。

您必须确保您单击Xco​​de左侧的程序(文件层次结构的顶部)。 您将进入主窗口(右侧)中的常规设置屏幕,您将在其中看到您的包标识符,部署目标和其他设置。 点击顶部的标签说明能力。 现在您将看到一个包含HealthKit的可切换列表。 你必须在这里激活它,然后才能在应用程序中使用它。

编辑:这是Xcode的图像,如果你不熟悉设置依赖或其他程序特定的设置,可能会帮助你find这个。

显示HealthKit列表的屏幕截图

正是在这个右边的列表中,你会看到HealthKit。 一旦你打开它,它会检查几件事情,并validation你可以使用它。

有点旧,但对于有问题的其他人,我必须在XCode 6.2(首选项 – >帐户)中手动刷新configuration文件。

我在智慧结束后结束了这里。 没有任何工作,我显然已启用HealthKit权利,所以最后我刚刚重新启动电话。 瞧。 重新启动清除了失踪的授权错误。

我设法让我的权利工作,确保我有一个设备注册。 一旦我的iPhone显示在模拟器下,我没有任何未解决的问题下的应用程序的身份部分,它都装好了。

您可能会发现,尽pipe您已经在xcode中打开了HealthKit权利,但还有第二个权利文件不包含healthkit布尔值。 我发现虽然显而易见的权利文件(位于顶层)具有正确的信息,但是在不包含healthkit权利的资源下创build了不同的权利文件。 修复该文件解决了我的问题。

  1. 点击观看应用程序扩展目标。

  2. 点击function

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

在这里输入图像说明