gpt4 book ai didi

ios - 缺少 HealthKit 权利

转载 作者:搜寻专家 更新时间:2023-10-31 22:48:30 32 4
gpt4 key购买 nike

我正在尝试将 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 ID 授权将更改为:

但是在我的开发者账号的App ID中,App ID显示HealthKit确实是开启的。

它在我的配置文件中显示了相同的内容。

而且我只有一个 App ID 和一个配置文件可供选择,所以我不可能把它们弄混。

最佳答案

我现在有一个与 CloudKit 权利非常相似的问题 :( 在模拟器和设备的调试中工作,但在使用分发配置文件构建时不是,权利只是不会在最终存档中结束。通过验证虽然......奇怪.

你有没有解决这个问题?

如果没有,您仍然可以检查一些事项。

  1. 为确保您的 Xcode 不会混淆要使用的配置文件 - 转到首选项 -> 帐户 -> 查看详细信息 -> 右键单击​​其中一个配置文件 -> 在 Finder 中显示。现在删除该文件夹中的所有配置文件。我们这样做是为了防止 Xcode 意外使用错误的配置文件。

  2. 为确保 Xcode 可以找到最新的配置文件,我会再次重新生成配置文件以防万一(删除并重新添加)并使用新名称。然后下载并双击。 (通过 Xcode 下载有时会不稳定)

  3. 此时值得检查配置文件是否确实包含正确的授权 key 。您可以运行“security cms -D -i profile_name.mobileprovision”并检查权利部分。它应该包含“com.apple.developer.healthkit”键

  4. 现在您可以转到 Xcode 并显式设置代码签名身份(类似于“iPhone 开发人员:...”或“iPhone 分发:...” - 取决于您进行测试的方式) .之后,您可以显式设置配置文件 - Xcode 应该能够找到它并向您显示配置文件的名称 - 它应该与您在步骤 2 中使用的名称匹配。确保为调试/发布正确设置(再次取决于你是如何测试的)。如果 Xcode 提示它找不到具有特定 ID 的配置文件 -> 转到配置文件所在的文件夹并确保它在那里,文件名将以 ID 开头,然后只需重新启动 Xcode,之后它应该可以工作。

如果您正在构建实际的文件或 ipas,最好知道这些包中有哪些权利(您可以打开它们并检查;对于存档:存档文件(右键单击,显示包内容)-> 产品-> Applications -> app name.app(右键单击,显示包内容)-> archived-expanded-entitlements.xcent(文本文件);对于 ipa(类似):重命名为 zip -> unzip -> Payload -> app name .app -> archived-expanded-entitlements.cent

----- 编辑 ------

我已经解决了我的问题。我认为我的项目文件处于一种奇怪的状态,因为我在过去的某个时候重命名了一些东西并且不得不在项目文件中手动更新一些条目。

我知道构建过程的哪一步出了问题。 ProcessProductPackaging 步骤采用原始权利并生成最终用于签名的 .xcent 文件。

出于某种原因,对于发布配置,Xcode 没有遵循我的授权文件的位置,而是使用 SDK 中的默认模板,例如。/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.2.sdk/Entitlements.plist

我无法弄清楚具体原因,但调试配置似乎一切正常。因此,我核对了我的发布配置并创建了一个具有不同名称的新配置,之后构建过程开始获取我的权利文件。从项目文件 diff 中,仍然不清楚为什么以前没有工作。

关于ios - 缺少 HealthKit 权利,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33071726/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com