在 Xcode 14 以前创建跨平台应用时,Xcode 会针对每个目标(target)创建一个单独的 Entitlements 文件。而现在,在 Xcode 14 中,默认情况下所有目标都使用同一 Entitlements 文件。
在将 HealthKit 功能添加到 Xcode 14 项目并在 Info.plist 中填写“Privacy - Health Update Usage Description”键字符串后,触发了 HealthKit 授权请求,但用户同意应用程序使用 HealthKit 数据的屏幕未弹出。此外,控制台中还打印出以下错误信息:Health request display failed: Missing application-identifier entitlement.
为解决此问题,我手动编辑了 Entitlements 文件,使其如下所示:
手动向 Entitlements 文件添加 application-identifier 权限可以解决该问题,但由于 macOS 目标也使用相同的 Entitlements 文件,因此 Xcode 在进行 macOS 自动签名时失败,并出现以下错误:
Provisioning profile "Mac Team Provisioning Profile: com.xx.xx" doesn't include the application-identifier entitlement.
正确的方法是什么?我应该手动创建第二个Entitlements文件并将它们分开吗?如果是这样,应该如何操作?或者还有其他我所忽略的东西吗?
非常感谢任何帮助。