我很难让HealthKit为我的iOS应用程序工作。我已经完成了所有步骤I have found so far,似乎没有解决我的问题我在尝试授权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中启用了它。还有什么我可能会失踪的吗?
答案 0 :(得分:6)
我在watchOS 2应用程序中遇到此问题。解决方案是确保我为两者 iOS应用和手表扩展程序启用了HealthKit权利。
我错误地认为iOS应用程序的开关将由手表扩展程序继承。
答案 1 :(得分:1)
您必须确保单击Xcode左侧的程序(文件层次结构的顶部)。您将进入主窗口(右侧)的常规设置屏幕,您将在其中看到捆绑包标识符,部署目标和其他设置。单击顶部显示功能的选项卡。现在,您将看到一个包含HealthKit的可切换列表。您必须先在此处激活它,然后才能在应用程序中使用它。
编辑:这是来自Xcode的图片,如果您不熟悉设置依赖项或其他程序特定设置,可能会帮助您找到它。
在右侧列表中,您将看到HealthKit。一旦你打开它就会检查几件事,并确认你可以使用它。
答案 2 :(得分:1)
有点旧,但对于有问题的其他人,我不得不在XCode 6.2(首选项 - >帐户)中手动刷新我的配置文件。
答案 3 :(得分:1)
在达到我的智慧结束后,我终于到了这里。没有任何工作,我明确启用了HealthKit权利,所以最后我重新启动了手机。瞧。重新启动清除了丢失的权利错误。
答案 4 :(得分:1)
答案 5 :(得分:0)
我设法通过确保我注册了设备来获得我的权利。一旦我在模拟器下显示我的iPhone并且我在应用程序的标识部分下没有任何未解决的问题,所有加载都可以。
答案 6 :(得分:0)
您可能会发现尽管您已在xcode中启用了HealthKit权利,但仍有第二个权利文件不包含healthkit boolean。我发现虽然明显的权利文件(在顶层)具有正确的信息,但是在不包含healthkit权利的资源下创建了不同的权利文件。修复该文件解决了我的问题。