损坏的开发人员证书和配置文件

问题描述

我非常担心我的证书/个人资料,需要帮助来解决此问题。我的应用程序位于iPhone,iPad和Mac的Apple应用程序商店中,并已发出多个更新。我最近将Xcode更新为Xcode 12,并且无法再将应用程序的Mac Catalyst版本发送到Apple的公证服务,并得到以下错误:

Cannot create a Mac Catalyst Developer ID provisioning profile for "<profile>".
The App Groups capability is not available for Mac Catalyst Developer ID provisioning profiles. Disable this feature and try again.
Provisioning profile failed qualification
Profile doesn't include the selected signing certificate.
Provisioning profile failed qualification
Profile doesn't support App Groups.

在此之前,我自2月以来一直没有生成新的Developer ID配置文件,并且已经在我的应用程序中放置了多个应用程序组,并发送了多个更新和公证。经过大量研究,我发现它可能与我的开发者ID配置文件有关,因此我在Apple开发者网站上对其进行了调查,发现状态显示为无效。我制作了一个新版本,删除了一个无效的版本,并尝试了归档一个新版本并将其发送给Apple公证人的步骤,但最终遇到了同样的错误。

我做了更多研究,偶然发现https://developer.apple.com/support/certificates/,发现删除个人资料可能导致我不更新应用商店中当前的应用。我是否删除了全部访问权限以更新我的应用?

我仍然无法弄清公证问题,现在我非常担心自己搞砸了再次更新应用程序的机会。您能帮我解决这两个问题吗?

我有一个Mac更新,我想尽快发送到App Store,但想在发送给用户之前先知道它是否安全。

解决方法

这里的问题是 App Groups 的权利不适用于 MacOS,正如您在 Apple Developer 帐户的 i 门户上单击 Certificates,Identifiers & Profiles 时所看到的那样。

enter image description here

显然,您仍希望将其用于您的 iOS 版本的应用程序,但 MacOS 版本不需要它。 (虽然 MacOS 版本仍然可以使用您的应用组,但不需要授权)。

要解决此问题,您需要为 .entitlements 构建使用与 MacOS 构建不同的 iOS 文件。

首先,复制您当前的 .entitlements 文件。最简单的方法是按住 Alt 键,同时稍微拖动 .entitlements 文件。它会制作一个副本。将其重命名为 Original Name-MacOS.entitlements 之类的名称。

下一步是打开您的 Build Settings 并在搜索栏中输入 entitlements

您将看到针对 DebugRelease 构建显示的原始权利文件。选择 Debug 行,然后单击 + 按钮。单击 Any SDK 并将其更改为 Any macOS SDK。现在将权利文件的名称更改为您的 MacOS 变体。

重复 Release 构建的过程,如下所示。

enter image description here

最后一步是从您的 MacOS .entitlements 文件中删除有问题的权利。这必须手动完成,因为 Signing & Capabilities 选项卡只会显示原始 iOS 文件中的权利。因此,单击您的 MacOS .entitlements 文件并删除 App Groups 条目。

Clean 你的项目,Build & RunExport 等等,你应该很高兴。

,

一些用户能够通过在Xcode的“签名和功能”选项卡上打开和打开我所有应用目标的应用组功能来解决此问题。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...