我正在尝试将HealthKit与我正在构建的应用程序集成,我似乎已经成功地为它添加了相应的权限。我创建并下载了一个具有适当应用ID的配置文件,Xcode功能选项卡中的HealthKit切换看起来很好:

但是,当我运行该应用程序时,我会得到以下错误:
HealthKit authorization denied!
Error Domain=com.apple.healthkit Code=4 "Missing com.apple.developer.healthkit entitlement." UserInfo={NSLocalizedDescription=Missing com.apple.developer.healthkit entitlement.}这是一条奇怪的错误消息,因为Add the "HealthKit" entitlement to your App ID已经成功完成。
但是,一旦我得到该错误,选中的App权限将更改为:

但是在我的开发者帐户的App中,App显示HealthKit确实是启用的。

它在我的配置文件中也显示了同样的情况。

我只有一个应用程序ID和一个可供选择的配置文件,所以我不可能把它们搞混。
发布于 2015-12-09 23:42:46
现在,我在CloudKit权限方面有一个非常类似的问题:(在模拟器和设备中使用Debug工作,但在使用分发配置文件构建时就不行了,权限只是不会在最终存档中结束。)但通过验证..。很奇怪。
你有没有解决这个问题?
如果没有,有一些事情你仍然可以检查。
如果您正在构建实际的档案或ipa,最好知道在这些包中有哪些权利(您可以打开它们并检查;存档:归档文件(右键单击,显示包内容) -> Products -> Applications -> app name.app (右击,显示包内容) ->存档-展开-实体.text(文本文件);ipa(类似地):登录到zip -> unzip -> Payload -> -> name.app ->归档-扩展-授权.
-编辑
我解决了我的问题。我认为我的项目文件处于一种奇怪的状态,因为我在过去的某个时候重命名了事物,并且必须手动更新项目文件中的一些条目。
我知道构建过程的哪一步出错了。正是ProcessProductPackaging步骤获得了原始的权限,并生成了最终用于签名的.xcent文件。
出于某种原因,对于发行版配置,Xcode并不符合我的权利文件的位置,而只是使用SDK中的默认模板,例如。/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.2.sdk/Entitlements.plist
我不知道确切的原因,但是对于Debug配置来说,事情似乎还不错。因此,我使用了我的版本配置,并创建了一个新的名称不同的一个,然后构建过程开始收集我的权利文件。从项目文件diff来看,事情以前不起作用的原因仍然不明显。
发布于 2016-01-08 11:39:57
在我的例子中,HealthKit集成了一段时间,一切都正常工作,有一天它刚刚停止工作,看起来与您的情况类似。
在尝试了任何可以在网上找到的直接/开箱即用的解决方案之后,当我看到这个answer时,我的搜索终于结束了。
只需重启,我的iPhone就解决了这个问题!
希望它也能治好你的病。祝好运
https://stackoverflow.com/questions/33071726
复制相似问题